Skip to content
Snippets Groups Projects
Commit 6aa57d4a authored by Bastien DUMONT's avatar Bastien DUMONT :angel:
Browse files

test(consumption): add tests for fetchAvgTemperature

parent 7c01a1bc
No related branches found
No related tags found
2 merge requests!12413.1 Release,!1187test(consumption): add tests for fetchAvgTemperature
......@@ -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> = {
......
......@@ -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)
......
/* 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',
},
],
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment