1.0.0 • Published 3 years ago

@tepez/joi-jasmine-helpers v1.0.0

Weekly downloads
5
License
MIT
Repository
github
Last release
3 years ago

joi-jasmine-helpers

Custom matchers for writing unit test in Jasmine for hapijs/joi schemas and extensions

npm version Build Status

Install

npm install --save @tepez/joi-jasmine-helpers

Compatibility

VersionJoi
1.x.x17 joi
0.2.x14 joi

Usage

describe('custom matchers', () => {
    JoiJasmineHelpers.addMatchers();

    it('toPassValidation', () => {
        const schema = Joi.number().integer();
        expect(schema).toPassValidation(100);
        expect(schema).toPassValidation('100');

        expect(schema).toPassValidation(100, 100);
        expect(schema).toPassValidation('100', 100);

        expect(schema).toPassValidation('100', 100, {
            convert: true,
        });
    });

    it('toFailValidation', () => {
        const schema = Joi.number().integer();
        expect(schema).toFailValidation('xxx');
        expect(schema).toFailValidation('xxx', '"value" must be a number');
        expect(schema).toFailValidation('xxx', /^"value" must be a number$/);
        expect(schema).toFailValidation(10.5, /^"value" must be an integer$/);

        expect(schema).toFailValidation('100', '"value" must be a number', {
            convert: false,
        });
    });
});