From 32eb67aa765b2813fffa73166bf5d9c7d18b6f72 Mon Sep 17 00:00:00 2001 From: Yoan Vallet <yoan.vallet@gmail.com> Date: Sun, 15 Nov 2020 03:46:00 +0100 Subject: [PATCH] feat: review fluid service tests --- src/services/fluid.service.spec.ts | 91 +++++++++++++++++++++++++++++- 1 file changed, 90 insertions(+), 1 deletion(-) diff --git a/src/services/fluid.service.spec.ts b/src/services/fluid.service.spec.ts index e8e848c60..1b856e7b9 100644 --- a/src/services/fluid.service.spec.ts +++ b/src/services/fluid.service.spec.ts @@ -49,6 +49,13 @@ jest.mock('./consumption.service', () => { describe('FLuid service', () => { const fluidService = new FluidService(mockClient) + beforeEach(() => { + mockGetAccountByType.mockReset() + mockGetTrigger.mockReset() + mockFetchTriggerState.mockReset() + mockFetchAllLastDateData.mockReset() + }) + describe('getFluidStatus method', () => { it('shoud return fluid status for all fluids', async () => { const mockLastDataDates: (DateTime | null)[] = [ @@ -91,7 +98,89 @@ describe('FLuid service', () => { expect(result).toEqual(mockResult) }) - it('shoud return fluid status with null status', async () => { + it('shoud return fluid status with null status when no accounts', async () => { + const mockLastDataDates: (DateTime | null)[] = [ + DateTime.local(), + DateTime.local(), + DateTime.local(), + ] + const mockResult: FluidStatus[] = [ + { + fluidType: FluidType.ELECTRICITY, + status: null, + lastDataDate: mockLastDataDates[FluidType.ELECTRICITY], + }, + { + fluidType: FluidType.WATER, + status: null, + lastDataDate: mockLastDataDates[FluidType.WATER], + }, + { + fluidType: FluidType.GAS, + status: null, + lastDataDate: mockLastDataDates[FluidType.GAS], + }, + ] + mockGetAccountByType + .mockResolvedValueOnce(null) + .mockResolvedValueOnce(null) + .mockResolvedValueOnce(null) + mockGetKonnector + .mockResolvedValueOnce(konnectorsData[0]) + .mockResolvedValueOnce(konnectorsData[1]) + .mockResolvedValueOnce(konnectorsData[2]) + mockGetTrigger + .mockResolvedValueOnce(triggersData[0]) + .mockResolvedValueOnce(triggersData[1]) + .mockResolvedValueOnce(triggersData[2]) + mockFetchTriggerState.mockResolvedValue(triggerStateData) + mockFetchAllLastDateData.mockResolvedValue(mockLastDataDates) + const result: FluidStatus[] = await fluidService.getFluidStatus() + expect(result).toEqual(mockResult) + }) + + it('shoud return fluid status with null status when no konnector', async () => { + const mockLastDataDates: (DateTime | null)[] = [ + DateTime.local(), + DateTime.local(), + DateTime.local(), + ] + const mockResult: FluidStatus[] = [ + { + fluidType: FluidType.ELECTRICITY, + status: null, + lastDataDate: mockLastDataDates[FluidType.ELECTRICITY], + }, + { + fluidType: FluidType.WATER, + status: null, + lastDataDate: mockLastDataDates[FluidType.WATER], + }, + { + fluidType: FluidType.GAS, + status: null, + lastDataDate: mockLastDataDates[FluidType.GAS], + }, + ] + mockGetAccountByType + .mockResolvedValueOnce(accountsData[0]) + .mockResolvedValueOnce(accountsData[1]) + .mockResolvedValueOnce(accountsData[2]) + mockGetKonnector + .mockResolvedValueOnce(null) + .mockResolvedValueOnce(null) + .mockResolvedValueOnce(null) + mockGetTrigger + .mockResolvedValueOnce(triggersData[0]) + .mockResolvedValueOnce(triggersData[1]) + .mockResolvedValueOnce(triggersData[2]) + mockFetchTriggerState.mockResolvedValue(triggerStateData) + mockFetchAllLastDateData.mockResolvedValue(mockLastDataDates) + const result: FluidStatus[] = await fluidService.getFluidStatus() + expect(result).toEqual(mockResult) + }) + + it('shoud return fluid status with null status when no triggers', async () => { const mockLastDataDates: (DateTime | null)[] = [ DateTime.local(), DateTime.local(), -- GitLab