UNPKG

947 BJavaScriptView Raw
1'use strict';
2
3var isOneOf = require('../src/oneOf'),
4 assert = require('chai').assert;
5
6describe('oneOf', function() {
7 var ALLOWED_VALUES = [1, '2', 'test'],
8 VALID_VALUE = '2';
9
10 it('throws an error if less than 2 allowed values provided', function() {
11 assert.throws(function() {
12 isOneOf()(VALID_VALUE);
13 }, Error, 'At least 2 allowed values are required');
14
15 assert.throws(function() {
16 isOneOf(1)(VALID_VALUE);
17 }, Error, 'At least 2 allowed values are required');
18 });
19
20 it('always returns a function', function() {
21 assert.ok(isOneOf.apply(this, ALLOWED_VALUES) instanceof Function);
22 });
23
24 it('checks whether a value is equal to one of allowed values', function() {
25 var predicate = isOneOf.apply(this, ALLOWED_VALUES);
26
27 assert.ok(predicate(VALID_VALUE));
28 assert.ok(!predicate(10));
29 assert.ok(!predicate());
30 });
31
32});