'chai js expect property value empty array

I'm trying to write a unit test using chai js assertion, and was wondering how to expect arrays with zero length as values.

My Test function expect statement:

return expect(functionRetuningPromise()).to eventually.have.property("key1", []);

Console Output on running mocha:

AssertionError: expected { otherkey: otherVal, key1: [] } to have a property 'key1' of [], but got []

I have tried deep.property, key1:"[]" with no success



Solution 1:[1]

What about

return 

expect(functionRetuningPromise()).to.eventually.have.property("key1").that.satisfy(function (value) {
  expect(value).to.be.instanceof(Array);
  expect(value).to.have.length.above(0);
  return true;
})

Solution 2:[2]

This should do the trick

expect(value).to.deep.equal([]);

Solution 3:[3]

I think this is a little plainer

expect( value ).to.be.an( "array" ).that.is.empty

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Jim Pedid
Solution 2 mstfgueclue
Solution 3 Brandy Thomason