blob: 17e8950241d533f5227ece03fc8354ca412eb494 [file] [log] [blame]
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));
});
});