Nostradamus Predicting Maelstroms

    chai-match-pattern

    1.2.0 • Public • Published

    chai-match-pattern

    NPM

    David Dependencies

    Related Modules: lodash-match-pattern lodash-checkit

    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-pattern
    

    In your test file insert

    const chai = require('chai');
    const chaiMatchPattern = require('chai-match-pattern');
    chai.use(chaiMatchPattern);
    const _ = chaiMatchPattern.getLodashModule(); // recommend using our lodash extension

    Then 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);

    Install

    npm i chai-match-pattern

    DownloadsWeekly Downloads

    8,873

    Version

    1.2.0

    License

    MIT

    Unpacked Size

    5.68 kB

    Total Files

    6

    Last publish

    Collaborators

    • mjhm