UNPKG

@zargu/couchdb-designer

Version:

Create and testing couchdb design document form directory structure.

19 lines (18 loc) 1.3 kB
import { validateViewOptions,jokerEquals } from '../../src/testing/views/viewUtils'; describe('viewUtils',() => { test('validateViewOptions', () => { expect(validateViewOptions(false)).toEqual({reduce:false,group:false,group_level:0}); expect(validateViewOptions(true)).toEqual({reduce:true,group:false,group_level:0}); expect(validateViewOptions(true,{reduce:false})).toEqual({reduce:false,group:false,group_level:0}); expect(() => validateViewOptions(false,{reduce:true})).toThrow('Missing reduce function!'); expect(validateViewOptions(false,{reduce:false,group:false,group_level:0})).toEqual({reduce:false,group:false,group_level:0}); expect(validateViewOptions(true,{group_level:1})).toEqual({reduce:true,group:true,group_level:1}); expect(() => validateViewOptions(false,{group_level:1})).toThrow('Invalid use of grouping on a map view.'); expect(() => validateViewOptions(true,{group_level:1,group:false})).toThrow('Can\'t specify group=false and group_level>0 at the same time'); }) test('jokerEquals',() => { expect(jokerEquals(null,0)).toBe(false); expect(jokerEquals([10,[10,[10]]],[10,[10,[10]]])).toBe(true); expect(jokerEquals({a:{b:[10,[10]]}},{a:{b:[10,[10]]}})).toBe(true); }) });