Harry
Harry

Reputation: 13

node.js test case when response is {}

When I call an API to make a delete request, it returns {} as request.body.result. I need to assert that the returned value {} is equal to my MOCK_RESPONSE:

{ 
result:{}
}

The test fails with the following error:

expected {} to equal {}

This is true; but how could I pass this test, since the expected response is correct?

Upvotes: 1

Views: 69

Answers (1)

Tom
Tom

Reputation: 9127

Use .deep

Chai has .deep, so you can do:

assert(
  actualResponse
).to.deep.equal(
  expectedResponse
)

.equal uses === equality, but the .deep segment changes that behavior:

Causes all .equal, .include, .members, .keys, and .property assertions that follow in the chain to use deep equality instead of strict (===) equality. See the deep-eql project page for info on the deep equality algorithm: https://github.com/chaijs/deep-eql.

Upvotes: 1

Related Questions