41 lines
1.2 KiB
TypeScript
41 lines
1.2 KiB
TypeScript
import * as operations from 'shared/operations';
|
|
|
|
describe('operations', () => {
|
|
describe('#valueOf', () => {
|
|
it('returns an Operation', () => {
|
|
let op: operations.Operation = operations.valueOf({
|
|
type: operations.SCROLL_VERTICALLY,
|
|
count: 10,
|
|
});
|
|
expect(op.type).to.equal(operations.SCROLL_VERTICALLY);
|
|
expect(op.count).to.equal(10);
|
|
});
|
|
|
|
it('throws an Error on missing required parameter', () => {
|
|
expect(() => operations.valueOf({
|
|
type: operations.SCROLL_VERTICALLY,
|
|
})).to.throw(TypeError);
|
|
});
|
|
|
|
it('fills default valus of optional parameter', () => {
|
|
let op: operations.Operation = operations.valueOf({
|
|
type: operations.COMMAND_SHOW_OPEN,
|
|
});
|
|
|
|
expect(op.type).to.equal(operations.COMMAND_SHOW_OPEN)
|
|
expect(op.alter).to.be.false;
|
|
});
|
|
|
|
it('throws an Error on mismatch of parameter', () => {
|
|
expect(() => operations.valueOf({
|
|
type: operations.SCROLL_VERTICALLY,
|
|
count: '10',
|
|
})).to.throw(TypeError);
|
|
|
|
expect(() => valueOf({
|
|
type: operations.COMMAND_SHOW_OPEN,
|
|
alter: 'true',
|
|
})).to.throw(TypeError);
|
|
});
|
|
});
|
|
})
|