Sha256: 4bf151f5768964a02394f07926219b84a189980235c823b99039dfb38e10d5a5

Contents?: true

Size: 1.13 KB

Versions: 46

Compression:

Stored size: 1.13 KB

Contents

import {
    expect
} from 'chai';
import configSamples from './configSamples';
import validateConfig from '../dist/validateConfig';
import configSchema from '../src/schemas/config.json';
import Ajv from 'ajv';
import ajvKeywords from 'ajv-keywords';

describe('config.json schema', () => {
  var validate;

  before(() => {
    var ajv = new Ajv({allErrors: true});
    ajvKeywords(ajv, 'typeof');
    validate = ajv.compile(configSchema);
  });

  it('should pass validation of valid config samples', () => {
    configSamples.valid.forEach((sample, i) => {
      testValid(sample, validate);
      testValid(sample, validateConfig);
    });

    function testValid(sample, validate) {
      var valid = validate(sample);
      if (!valid) console.log(validate.errors);
      expect(valid).to.equal(true);
    }
  });

  it('should fail validation of invalid config samples', () => {
    configSamples.invalid.forEach((sample, i) => {
      testInvalid(sample, validate);
      testInvalid(sample, validateConfig);
    });

    function testInvalid(sample, validate) {
      var valid = validate(sample);
      expect(valid).to.equal(false);
    }
  });
});

Version data entries

46 entries across 46 versions & 3 rubygems

Version Path
govuk_publishing_components-18.0.0 node_modules/table/test/config.js
govuk_publishing_components-17.21.0 node_modules/table/test/config.js
govuk_publishing_components-17.20.0 node_modules/table/test/config.js
govuk_publishing_components-17.19.1 node_modules/table/test/config.js
govuk_publishing_components-17.19.0 node_modules/table/test/config.js
govuk_publishing_components-17.18.0 node_modules/table/test/config.js
govuk_publishing_components-17.17.0 node_modules/table/test/config.js
govuk_publishing_components-17.16.0 node_modules/table/test/config.js
govuk_publishing_components-17.15.0 node_modules/table/test/config.js
govuk_publishing_components-17.14.0 node_modules/table/test/config.js
govuk_publishing_components-17.13.0 node_modules/table/test/config.js
govuk_publishing_components-17.12.2 node_modules/table/test/config.js
govuk_publishing_components-17.12.1 node_modules/table/test/config.js
govuk_publishing_components-17.12.0 node_modules/table/test/config.js
govuk_publishing_components-17.11.0 node_modules/table/test/config.js
govuk_publishing_components-17.10.0 node_modules/table/test/config.js
govuk_publishing_components-17.9.0 node_modules/table/test/config.js
govuk_publishing_components-17.8.0 node_modules/table/test/config.js
govuk_publishing_components-17.7.0 node_modules/table/test/config.js
govuk_publishing_components-17.6.1 node_modules/table/test/config.js