diff --git a/src/services/consumption.service.spec.ts b/src/services/consumption.service.spec.ts index ca2d8e95b09bbf47ca5c6ba09717109840ad0865..384bb583109386f398532a53f6942442259efcd8 100644 --- a/src/services/consumption.service.spec.ts +++ b/src/services/consumption.service.spec.ts @@ -10,6 +10,7 @@ import { FluidStatus, TimePeriod, } from 'models' +import { mockAvgTemperature } from 'tests/__mocks__/avgTemperature.mock' import mockClient from 'tests/__mocks__/client.mock' import { fetchDayDataComplete, @@ -513,6 +514,23 @@ describe('Consumption service', () => { }) }) + describe('fetchAvgTemperature', () => { + it('should return the average temperature when data is available', async () => { + mockClient + .getStackClient() + .fetchJSON.mockResolvedValueOnce(mockAvgTemperature) + const result = await consumptionDataManager.fetchAvgTemperature(2023, 5) + expect(result).toBe(mockAvgTemperature.values[0].average_measurement) + }) + it('should throw an error when no data is available', async () => { + mockClient + .getStackClient() + .fetchJSON.mockResolvedValueOnce({ nb_results: 0 }) + const result = await consumptionDataManager.fetchAvgTemperature(2023, 5) + expect(result).toBe(null) + }) + }) + describe('saveDoc & saveDocs', () => { it('should saveDoc', async () => { const mockQueryResult: QueryResult<DataloadEntity> = { diff --git a/src/services/consumption.service.ts b/src/services/consumption.service.ts index 57ccc0eb33b970a7634eee1983bcdeb40d89907a..bdd8ba0986acf45bda318329278e1e046ca2e2e3 100644 --- a/src/services/consumption.service.ts +++ b/src/services/consumption.service.ts @@ -647,11 +647,8 @@ export default class ConsumptionDataManager { ) if (result && result.nb_results !== 0) { return result.values[0].average_measurement - } else { - throw new Error( - `No average temperature found for ${avgTemperatureDate}` - ) } + throw new Error(`No average temperature found for ${avgTemperatureDate}`) } catch (error) { const errorMessage = `fetchAvgTemperature error : ${error}` logStack('error', errorMessage) diff --git a/tests/__mocks__/avgTemperature.mock.ts b/tests/__mocks__/avgTemperature.mock.ts new file mode 100644 index 0000000000000000000000000000000000000000..d50cee3d44528f1648043aa66f05490b3c3c899c --- /dev/null +++ b/tests/__mocks__/avgTemperature.mock.ts @@ -0,0 +1,16 @@ +/* eslint-disable camelcase */ +import { AvgTemperatureResult } from 'models' + +export const mockAvgTemperature: AvgTemperatureResult = { + fields: ['identifiant', 'average_measurement', 'month'], + layer_name: '', + nb_results: 1, + table_href: '', + values: [ + { + average_measurement: 17.6, + identifiant: '69123002', + month: '2023-05', + }, + ], +}