1.3.0 • Published 4 years ago
chai-match-pattern v1.3.0
chai-match-pattern
chai-match-pattern is a Swiss Army Knife for deep matching JSON objects. It is essentially a Chai wrapper for lodash-match-pattern and detailed documentation can be found there about its pattern matching functionality. This functionality includes deep matching of JSON properties by
- Exact values
- Regex
- Any matcher from
checkit(e.g._.isURL,_.isEmail) - Any matcher from
lodash(e.g._.isObject,_.isNaN) - Partial matches
- Custom matching functions
- Filtered values
- And more...
Basic Usage
# with npm
npm install chai-match-pattern --save-dev
# or with yarn
yarn add --dev chai-match-patternIn your test file insert
const chai = require('chai');
const chaiMatchPattern = require('chai-match-pattern');
chai.use(chaiMatchPattern);
const _ = chaiMatchPattern.getLodashModule(); // recommend using our lodash extensionThen use patterns to check your JSON with the .matchPattern(pattern) assertion function. For example
chai.expect({a: 1, b: 'abc'}).to.matchPattern({a: 1, b: _.isString});See lodash-match-pattern for way, way more details.
Additionally any of the included isXxxx functions can be used directly as assertion functions. For example
chai.expect(7.5).isBetween(7, 8);