Files
gotenberg-js-client/test/set.spec.ts
T
2020-02-11 23:29:59 +03:00

45 lines
1.1 KiB
TypeScript

import { delay, filename, Request, RequestType, set } from '../src'
// dumb object to test purity
const dumb: Request = {
type: RequestType.Undefined,
url: 'test',
fields: {},
client: {
post: () => {
throw new Error('not implemented')
},
},
}
test('Should set static fields', () => {
expect(set()(dumb)).toEqual({ ...dumb })
expect(set({})(dumb)).toEqual({ ...dumb })
expect(set({ landscape: true })(dumb)).toEqual({
...dumb,
fields: { landscape: true },
})
expect(set({ resultFilename: 'index.pdf' })(dumb)).toEqual({
...dumb,
fields: { resultFilename: 'index.pdf' },
})
})
test('Should set fields using modifiers', () => {
expect(set(delay(99))(dumb)).toEqual({
...dumb,
fields: { waitDelay: 99 },
})
expect(set(filename('index.pdf'))(dumb)).toEqual({
...dumb,
fields: { resultFilename: 'index.pdf' },
})
})
test('Should set fields both, using modifiers and static', () => {
expect(set(delay(99), { resultFilename: 'test.pdf' })(dumb)).toEqual({
...dumb,
fields: { waitDelay: 99, resultFilename: 'test.pdf' },
})
})