UNPKG

@cc-heart/utils

Version:

🔧 javascript common tools collection

46 lines (39 loc) • 1.42 kB
import { invokeTaskQueue } from '../../../lib/taskQueue' describe('invoke task queue', () => { test('should execute tasks in order', () => { const taskArray = [ jest.fn(() => Promise.resolve('Task 1')), jest.fn(() => Promise.resolve('Task 2')), jest.fn(() => Promise.resolve('Task 3')), ] return invokeTaskQueue(taskArray).then(() => { expect(taskArray[0]).toHaveBeenCalled() expect(taskArray[1]).toHaveBeenCalled() expect(taskArray[2]).toHaveBeenCalled() expect(taskArray[0].mock.invocationCallOrder[0]).toBeLessThan( taskArray[1].mock.invocationCallOrder[0], ) expect(taskArray[1].mock.invocationCallOrder[0]).toBeLessThan( taskArray[2].mock.invocationCallOrder[0], ) }) }) test('should handle empty task array', () => { const taskArray: Array<(...args: any) => any> = [] return invokeTaskQueue(taskArray).then(() => { expect(taskArray.length).toBe(0) }) }) test('should handle tasks that return promises', () => { const taskArray = [ jest.fn(() => Promise.resolve('Task 1')), jest.fn(() => Promise.resolve('Task 2')), jest.fn(() => Promise.resolve('Task 3')), ] return invokeTaskQueue(taskArray).then(() => { expect(taskArray[0]).toHaveBeenCalled() expect(taskArray[1]).toHaveBeenCalled() expect(taskArray[2]).toHaveBeenCalled() }) }) })