From ba0ba46a35340019dfb06e20a531d24991b49033 Mon Sep 17 00:00:00 2001 From: Ivan Date: Mon, 8 Mar 2021 10:48:46 +0800 Subject: [PATCH] =?UTF-8?q?test(pipeline-tasks):=20=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E7=94=A8=E4=BE=8B=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pipeline-tasks.service.spec.ts | 25 +++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/src/pipeline-tasks/pipeline-tasks.service.spec.ts b/src/pipeline-tasks/pipeline-tasks.service.spec.ts index a47a082..ddce7df 100644 --- a/src/pipeline-tasks/pipeline-tasks.service.spec.ts +++ b/src/pipeline-tasks/pipeline-tasks.service.spec.ts @@ -155,20 +155,31 @@ describe('PipelineTasksService', () => { it('pipeline is busy', async () => { let remainTimes = 3; - const incr = jest - .spyOn(redisClient, 'incr') - .mockImplementation(() => remainTimes--); + let lckValue: string; + const set = jest + .spyOn(redisClient, 'set') + .mockImplementation(async (...args) => { + if (remainTimes-- > 0) { + throw new Error(); + } else { + lckValue = args[3] as string; + } + }); + const get = jest + .spyOn(redisClient, 'get') + .mockImplementation(async () => lckValue); + const del = jest.spyOn(redisClient, 'del'); const rpop = jest.spyOn(redisClient, 'rpop'); - const decr = jest.spyOn(redisClient, 'decr'); const add = jest.spyOn(taskQueue, 'add'); await service.doNextTask(getBasePipeline()); expect(rpop).toHaveBeenCalledTimes(1); - expect(incr).toHaveBeenCalledTimes(3); - expect(decr).toHaveBeenCalledTimes(3); + expect(set).toHaveBeenCalledTimes(4); + expect(get).toHaveBeenCalledTimes(1); + expect(del).toHaveBeenCalledTimes(1); expect(add).toHaveBeenCalledWith(getTask()); - }); + }, 10_000); it('pipeline always busy and timeout', async () => { const set = jest .spyOn(redisClient, 'set')