jest-schema-matcher
TypeScript icon, indicating that this package has built-in type declarations

1.8.0 • Public • Published

Jest-Schema-Matcher

npm version Lint-Build-Test-Publish semantic-release XO code style

An opinionated Jest matcher that generates, validates, and versions JSON Schemas for your APIs.

🚀 Quick start

  1. Add dependency
yarn add --dev jest-schema-matcher
  1. Set global variable SHOULD_UPDATE_SCHEMAS in your jest's global config
// jest.config.js

module.exports = {
  ...
  globals: {
    SHOULD_UPDATE_SCHEMAS: true, // If true, schemas will be written/updated
  }
}
  1. Add the matcher to your tests
test('Check against schema', () => {
  const object = {
    username: 'test_user_a124',
    password: 'fixtures_password',
  }

  expect(object).toMatchSchema('schemaName')
  /**
   * 1. If SHOULD_UPDATE_SCHEMAS === true:
   * Will create a new schema or update existing schema in same path as test file.
   * E.g. If test path is `.../__tests__/sample.tests.js`
   * Then schema will be created in `.../__tests__/schemas/schemaName.json`
   * --or--
   * If SHOULD_UPDATE_SCHEMAS === false:
   * Will infer a new schema and recommend schema changes if the saved schema could be improved.
   */

  /** 2. Will validate `object` against saved schema.*/
})

Package Sidebar

Install

npm i jest-schema-matcher

Weekly Downloads

38

Version

1.8.0

License

MIT

Unpacked Size

22.3 kB

Total Files

10

Last publish

Collaborators

  • ryparker