- it('Verify that removeTaskFunction() is working', () => {
- const fn1 = () => {
- return 1
- }
- const fn2 = () => {
- return 2
- }
- const worker = new ClusterWorker({ fn1, fn2 })
- expect(worker.removeTaskFunction(0, fn1)).toStrictEqual({
- status: false,
- error: new TypeError('name parameter is not a string')
- })
- expect(worker.removeTaskFunction('', fn1)).toStrictEqual({
- status: false,
- error: new TypeError('name parameter is an empty string')
- })
- worker.getMainWorker = stub().returns({
- id: 1,
- send: stub().returns()
- })
- expect(worker.taskFunctions.get(DEFAULT_TASK_NAME)).toBeInstanceOf(Function)
- expect(worker.taskFunctions.get('fn1')).toBeInstanceOf(Function)
- expect(worker.taskFunctions.get('fn2')).toBeInstanceOf(Function)
- expect(worker.taskFunctions.size).toBe(3)
- expect(worker.taskFunctions.get(DEFAULT_TASK_NAME)).toStrictEqual(
- worker.taskFunctions.get('fn1')
- )
- expect(worker.removeTaskFunction(DEFAULT_TASK_NAME)).toStrictEqual({
- status: false,
- error: new Error(
- 'Cannot remove the task function with the default reserved name'
- )
- })
- expect(worker.removeTaskFunction('fn1')).toStrictEqual({
- status: false,
- error: new Error(
- 'Cannot remove the task function used as the default task function'
- )
- })
- worker.removeTaskFunction('fn2')
- expect(worker.taskFunctions.get(DEFAULT_TASK_NAME)).toBeInstanceOf(Function)
- expect(worker.taskFunctions.get('fn1')).toBeInstanceOf(Function)
- expect(worker.taskFunctions.get('fn2')).toBeUndefined()
- expect(worker.taskFunctions.size).toBe(2)
- expect(worker.getMainWorker().send.calledOnce).toBe(true)
- })
-