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