await expect(dynamicThreadPool.addTaskFunction('test', '')).rejects.toThrow(
new TypeError('taskFunction property must be a function')
)
+ await expect(
+ dynamicThreadPool.addTaskFunction('test', { taskFunction: 0 })
+ ).rejects.toThrow(new TypeError('taskFunction property must be a function'))
+ await expect(
+ dynamicThreadPool.addTaskFunction('test', { taskFunction: '' })
+ ).rejects.toThrow(new TypeError('taskFunction property must be a function'))
+ await expect(
+ dynamicThreadPool.addTaskFunction('test', {
+ taskFunction: () => {},
+ priority: -21
+ })
+ ).rejects.toThrow(
+ new RangeError("Property 'priority' must be between -20 and 19")
+ )
+ await expect(
+ dynamicThreadPool.addTaskFunction('test', {
+ taskFunction: () => {},
+ priority: 20
+ })
+ ).rejects.toThrow(
+ new RangeError("Property 'priority' must be between -20 and 19")
+ )
+ await expect(
+ dynamicThreadPool.addTaskFunction('test', {
+ taskFunction: () => {},
+ strategy: 'invalidStrategy'
+ })
+ ).rejects.toThrow(
+ new Error("Invalid worker choice strategy 'invalidStrategy'")
+ )
expect(dynamicThreadPool.listTaskFunctionsProperties()).toStrictEqual([
{ name: DEFAULT_TASK_NAME },
{ name: 'test' }
).toThrow(new TypeError("Invalid property 'priority': ''"))
expect(
() => new ThreadWorker({ fn1: { taskFunction: fn1, priority: -21 } })
- ).toThrow(new TypeError("Property 'priority' must be between -20 and 19"))
+ ).toThrow(new RangeError("Property 'priority' must be between -20 and 19"))
expect(
() => new ThreadWorker({ fn1: { taskFunction: fn1, priority: 20 } })
).toThrow(new RangeError("Property 'priority' must be between -20 and 19"))
new ThreadWorker({
fn1: { taskFunction: fn1, strategy: 'invalidStrategy' }
})
- ).toThrow(
- new RangeError("Invalid worker choice strategy 'invalidStrategy'")
- )
+ ).toThrow(new Error("Invalid worker choice strategy 'invalidStrategy'"))
})
it('Verify that taskFunctions parameter with multiple task functions is taken', () => {
status: false,
error: new TypeError('name parameter is an empty string')
})
+ expect(worker.addTaskFunction('fn2', 0)).toStrictEqual({
+ status: false,
+ error: new TypeError(
+ "taskFunction object 'taskFunction' property 'undefined' is not a function"
+ )
+ })
expect(worker.addTaskFunction('fn3', '')).toStrictEqual({
status: false,
error: new TypeError(
"taskFunction object 'taskFunction' property 'undefined' is not a function"
)
})
+ expect(worker.addTaskFunction('fn2', { taskFunction: 0 })).toStrictEqual({
+ status: false,
+ error: new TypeError(
+ "taskFunction object 'taskFunction' property '0' is not a function"
+ )
+ })
+ expect(worker.addTaskFunction('fn3', { taskFunction: '' })).toStrictEqual({
+ status: false,
+ error: new TypeError(
+ "taskFunction object 'taskFunction' property '' is not a function"
+ )
+ })
+ expect(
+ worker.addTaskFunction('fn2', { taskFunction: () => {}, priority: -21 })
+ ).toStrictEqual({
+ status: false,
+ error: new RangeError("Property 'priority' must be between -20 and 19")
+ })
+ expect(
+ worker.addTaskFunction('fn3', { taskFunction: () => {}, priority: 20 })
+ ).toStrictEqual({
+ status: false,
+ error: new RangeError("Property 'priority' must be between -20 and 19")
+ })
+ expect(
+ worker.addTaskFunction('fn2', {
+ taskFunction: () => {},
+ strategy: 'invalidStrategy'
+ })
+ ).toStrictEqual({
+ status: false,
+ error: new Error("Invalid worker choice strategy 'invalidStrategy'")
+ })
expect(worker.taskFunctions.get(DEFAULT_TASK_NAME)).toStrictEqual({
taskFunction: expect.any(Function)
})