test: add checkConfiguration() helper test
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Fri, 26 Jul 2024 16:52:31 +0000 (18:52 +0200)
committerJérôme Benoit <jerome.benoit@piment-noir.org>
Fri, 26 Jul 2024 16:52:31 +0000 (18:52 +0200)
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
tests/charging-station/Helpers.test.ts

index 865d595f13481bcc2ef0c1dec83f25d7fe9a0946..85e66adbbc5c05fac295919b7064f97969fe5cab 100644 (file)
@@ -5,6 +5,7 @@ import { expect } from 'expect'
 
 import {
   checkChargingStationState,
+  checkConfiguration,
   checkTemplate,
   getChargingStationId,
   getHashId,
@@ -14,6 +15,7 @@ import {
 import type { ChargingStation } from '../../src/charging-station/index.js'
 import { BaseError } from '../../src/exception/index.js'
 import {
+  type ChargingStationConfiguration,
   type ChargingStationInfo,
   type ChargingStationTemplate,
   type ConnectorStatus,
@@ -163,4 +165,18 @@ await describe('Helpers test suite', async () => {
     checkTemplate(chargingStationTemplate, 'log prefix |', 'test-template.json')
     expect(logger.warn.mock.calls.length).toBe(1)
   })
+
+  await it('Verify checkConfiguration()', t => {
+    t.mock.method(logger, 'error')
+    expect(() => {
+      checkConfiguration(undefined, 'log prefix |', 'configuration.json')
+    }).toThrow(
+      new BaseError('Failed to read charging station configuration file configuration.json')
+    )
+    expect(logger.error.mock.calls.length).toBe(1)
+    expect(() => {
+      checkConfiguration({} as ChargingStationConfiguration, 'log prefix |', 'configuration.json')
+    }).toThrow(new BaseError('Empty charging station configuration from file configuration.json'))
+    expect(logger.error.mock.calls.length).toBe(2)
+  })
 })