chai-subset
"containSubset" object properties matcher for Chai assertion library
Installation
npm install --save-dev chai-subset
Usage
common.js
var chai = require('chai');
var chaiSubset = require('chai-subset');
chai.use(chaiSubset);
in your spec.js
var obj = {
a: 'b',
c: 'd',
e: {
foo: 'bar',
baz: {
qux: 'quux'
}
}
};
expect(obj).to.containSubset({
a: 'b',
e: {
baz: {
qux: 'quux'
}
}
});
expect(obj).to.not.containSubset({
g: 'whatever'
});
Also works good with arrays and should
interface
var list = [{a: 'a', b: 'b'}, {v: 'f', d: {z: 'g'}}];
list.should.containSubset([{a:'a'}]);
list.should.containSubset([{a:'a', b: 'b'}}]);
list.should.containSubset([{a:'a', b: 'bd'}]);