UNPKG

@eluvio/elv-js-helpers

Version:

A collection of Javascript helper functions used by several Eluvio libraries.

36 lines (28 loc) 1.57 kB
const TH = require('../../../test-helpers') const assertBoundedLower = TH.requireSrcFile('ModelAssertion/assertBoundedLower') describe('assertBoundedLower', () => { const compare = TH.requireSrcFile('Functional/compare') const NumberModel = TH.requireSrcFile('Model/NumberModel') const [assertPositiveNumberFn, assertPositiveErrMsgFn] = assertBoundedLower(NumberModel, 0, false, compare) it('should generate an assertion that returns true for good values', () => { assertPositiveNumberFn(1).should.be.true assertPositiveNumberFn(1.5).should.be.true assertPositiveNumberFn(Infinity).should.be.true }) it('should generate an assertion that returns false for bad values that are still instances of the underlying Model', () => { assertPositiveNumberFn(-Infinity).should.be.false assertPositiveNumberFn(-1).should.be.false assertPositiveNumberFn(0).should.be.false }) it('should generate an assertion that returns true for values that are not instances of the underlying Model', () => { assertPositiveNumberFn([1]).should.be.true assertPositiveNumberFn('a').should.be.true assertPositiveNumberFn(null).should.be.true assertPositiveNumberFn(undefined).should.be.true }) it('should generate an assertion error message function that returns message with bad value and (if available) attribute name', () => { assertPositiveErrMsgFn(false, 0, null).should.equal('Value must be > 0 (got: 0)') assertPositiveErrMsgFn(false, -1, 'pixelWidth').should.equal('pixelWidth must be > 0 (got: -1)') }) })