|  | import { assert } from 'chai'; | 
|  | import { pivot } from '../json'; | 
|  | import { validateAsPivotTable, validatePivotRequest } from './index'; | 
|  |  | 
|  | describe('validatePivotRequest', () => { | 
|  | it('returns error message on null request', () => { | 
|  | assert.isNotEmpty(validatePivotRequest(null)); | 
|  | }); | 
|  |  | 
|  | it('returns error message if group_by is null', () => { | 
|  | const req: pivot.Request = { | 
|  | group_by: null, | 
|  | operation: 'avg', | 
|  | summary: [], | 
|  | }; | 
|  | assert.isNotEmpty(validatePivotRequest(req)); | 
|  | }); | 
|  |  | 
|  | it('returns error message if group_by is empty', () => { | 
|  | const req: pivot.Request = { | 
|  | group_by: [], | 
|  | operation: 'avg', | 
|  | summary: [], | 
|  | }; | 
|  | assert.isNotEmpty(validatePivotRequest(req)); | 
|  | }); | 
|  |  | 
|  | it('returns no error message if entire request is valid', () => { | 
|  | const req: pivot.Request = { | 
|  | group_by: ['config'], | 
|  | operation: 'avg', | 
|  | summary: [], | 
|  | }; | 
|  | assert.isEmpty(validatePivotRequest(req)); | 
|  | }); | 
|  | }); | 
|  |  | 
|  | describe('validateAsPivotTable', () => { | 
|  | it('returns error message on null request', () => { | 
|  | assert.isNotEmpty(validateAsPivotTable(null)); | 
|  | }); | 
|  |  | 
|  | it('returns error message if summary is null', () => { | 
|  | const req: pivot.Request = { | 
|  | group_by: ['config'], | 
|  | operation: 'avg', | 
|  | summary: null, | 
|  | }; | 
|  | assert.isNotEmpty(validateAsPivotTable(req)); | 
|  | }); | 
|  |  | 
|  | it('returns error message if summary is empty', () => { | 
|  | const req: pivot.Request = { | 
|  | group_by: ['config'], | 
|  | operation: 'avg', | 
|  | summary: [], | 
|  | }; | 
|  | assert.isNotEmpty(validateAsPivotTable(req)); | 
|  | }); | 
|  |  | 
|  | it('returns no error message if request is valid and summary has at least one entry', () => { | 
|  | const req: pivot.Request = { | 
|  | group_by: ['config'], | 
|  | operation: 'avg', | 
|  | summary: ['sum'], | 
|  | }; | 
|  | assert.isEmpty(validateAsPivotTable(req)); | 
|  | }); | 
|  | }); |