]> Piment Noir Git Repositories - e-mobility-charging-stations-simulator.git/commitdiff
refactor(tests): remove deprecated code and backward compatibility
authorJérôme Benoit <jerome.benoit@sap.com>
Sat, 28 Feb 2026 21:24:07 +0000 (22:24 +0100)
committerJérôme Benoit <jerome.benoit@sap.com>
Sat, 28 Feb 2026 21:24:07 +0000 (22:24 +0100)
- Remove unused createUIProtocolMock from MockWebSocket.ts
- Remove backward compat re-exports from UIServerTestUtils.ts
- Migrate all evsesCount usages to evseConfiguration.evsesCount
- Remove deprecated evsesCount option from MockChargingStationOptions
- Simplify determineEvseUsage function

tests/charging-station/ChargingStation-Connectors.test.ts
tests/charging-station/ChargingStation-Transactions.test.ts
tests/charging-station/ChargingStation.test.ts
tests/charging-station/helpers/StationHelpers.ts
tests/charging-station/mocks/MockWebSocket.ts
tests/charging-station/ui-server/UIServerTestUtils.ts

index 4b8591cba79752e7c3c38b5507926c34105dcab2..354eb6b6a3fb3d48209501cd804feaf97e239903 100644 (file)
@@ -143,7 +143,10 @@ await describe('ChargingStation Connector and EVSE State', async () => {
     })
 
     await it('should return 0 for getNumberOfEvses() in non-EVSE mode', () => {
-      const result = createMockChargingStation({ connectorsCount: 2, evsesCount: 0 })
+      const result = createMockChargingStation({
+        connectorsCount: 2,
+        evseConfiguration: { evsesCount: 0 },
+      })
       station = result.station
 
       expect(station.hasEvses).toBe(false)
@@ -151,7 +154,10 @@ await describe('ChargingStation Connector and EVSE State', async () => {
     })
 
     await it('should return undefined for getEvseIdByConnectorId() in non-EVSE mode', () => {
-      const result = createMockChargingStation({ connectorsCount: 2, evsesCount: 0 })
+      const result = createMockChargingStation({
+        connectorsCount: 2,
+        evseConfiguration: { evsesCount: 0 },
+      })
       station = result.station
 
       expect(station.getEvseIdByConnectorId(1)).toBeUndefined()
@@ -173,21 +179,30 @@ await describe('ChargingStation Connector and EVSE State', async () => {
     })
 
     await it('should enable hasEvses flag in EVSE mode', () => {
-      const result = createMockChargingStation({ connectorsCount: 2, evsesCount: 1 })
+      const result = createMockChargingStation({
+        connectorsCount: 2,
+        evseConfiguration: { evsesCount: 1 },
+      })
       station = result.station
 
       expect(station.hasEvses).toBe(true)
     })
 
     await it('should return correct EVSE count via getNumberOfEvses() in EVSE mode', () => {
-      const result = createMockChargingStation({ connectorsCount: 2, evsesCount: 1 })
+      const result = createMockChargingStation({
+        connectorsCount: 2,
+        evseConfiguration: { evsesCount: 1 },
+      })
       station = result.station
 
       expect(station.getNumberOfEvses()).toBe(1)
     })
 
     await it('should return connector status via getConnectorStatus() in EVSE mode', () => {
-      const result = createMockChargingStation({ connectorsCount: 2, evsesCount: 1 })
+      const result = createMockChargingStation({
+        connectorsCount: 2,
+        evseConfiguration: { evsesCount: 1 },
+      })
       station = result.station
 
       // Connectors are nested under EVSEs in EVSE mode
@@ -199,7 +214,10 @@ await describe('ChargingStation Connector and EVSE State', async () => {
     })
 
     await it('should map connector IDs to EVSE IDs via getEvseIdByConnectorId()', () => {
-      const result = createMockChargingStation({ connectorsCount: 2, evsesCount: 1 })
+      const result = createMockChargingStation({
+        connectorsCount: 2,
+        evseConfiguration: { evsesCount: 1 },
+      })
       station = result.station
 
       // In single-EVSE mode, both connectors should map to EVSE 1
@@ -208,14 +226,20 @@ await describe('ChargingStation Connector and EVSE State', async () => {
     })
 
     await it('should return undefined for getEvseIdByConnectorId() with invalid connector', () => {
-      const result = createMockChargingStation({ connectorsCount: 2, evsesCount: 1 })
+      const result = createMockChargingStation({
+        connectorsCount: 2,
+        evseConfiguration: { evsesCount: 1 },
+      })
       station = result.station
 
       expect(station.getEvseIdByConnectorId(999)).toBeUndefined()
     })
 
     await it('should return EVSE status via getEvseStatus() for valid EVSE IDs', () => {
-      const result = createMockChargingStation({ connectorsCount: 2, evsesCount: 1 })
+      const result = createMockChargingStation({
+        connectorsCount: 2,
+        evseConfiguration: { evsesCount: 1 },
+      })
       station = result.station
 
       const evseStatus = station.getEvseStatus(1)
@@ -226,14 +250,20 @@ await describe('ChargingStation Connector and EVSE State', async () => {
     })
 
     await it('should return undefined for getEvseStatus() with invalid EVSE IDs', () => {
-      const result = createMockChargingStation({ connectorsCount: 2, evsesCount: 1 })
+      const result = createMockChargingStation({
+        connectorsCount: 2,
+        evseConfiguration: { evsesCount: 1 },
+      })
       station = result.station
 
       expect(station.getEvseStatus(999)).toBeUndefined()
     })
 
     await it('should return true for hasConnector() with connectors in EVSE mode', () => {
-      const result = createMockChargingStation({ connectorsCount: 2, evsesCount: 1 })
+      const result = createMockChargingStation({
+        connectorsCount: 2,
+        evseConfiguration: { evsesCount: 1 },
+      })
       station = result.station
 
       expect(station.hasConnector(1)).toBe(true)
@@ -241,14 +271,20 @@ await describe('ChargingStation Connector and EVSE State', async () => {
     })
 
     await it('should return false for hasConnector() with non-existing connector in EVSE mode', () => {
-      const result = createMockChargingStation({ connectorsCount: 2, evsesCount: 1 })
+      const result = createMockChargingStation({
+        connectorsCount: 2,
+        evseConfiguration: { evsesCount: 1 },
+      })
       station = result.station
 
       expect(station.hasConnector(999)).toBe(false)
     })
 
     await it('should correctly count connectors in EVSE mode via getNumberOfConnectors()', () => {
-      const result = createMockChargingStation({ connectorsCount: 4, evsesCount: 2 })
+      const result = createMockChargingStation({
+        connectorsCount: 4,
+        evseConfiguration: { evsesCount: 2 },
+      })
       station = result.station
 
       // Should return total connectors across all EVSEs
index af1f30359c28923eab9b3ed05ab4f4fd854e69b5..b69eed44a21358a76a31cb76450cd9dbfcad07a5 100644 (file)
@@ -68,7 +68,10 @@ await describe('ChargingStation Transaction Management', async () => {
 
     await it('should return undefined for getEvseIdByTransactionId in non-EVSE mode', () => {
       // Arrange
-      const result = createMockChargingStation({ connectorsCount: 2, evsesCount: 0 })
+      const result = createMockChargingStation({
+        connectorsCount: 2,
+        evseConfiguration: { evsesCount: 0 },
+      })
       station = result.station
       const connector1 = station.getConnectorStatus(1)
       if (connector1 != null) {
@@ -85,7 +88,10 @@ await describe('ChargingStation Transaction Management', async () => {
 
     await it('should return EVSE id for getEvseIdByTransactionId in EVSE mode with active transaction', () => {
       // Arrange
-      const result = createMockChargingStation({ connectorsCount: 2, evsesCount: 2 })
+      const result = createMockChargingStation({
+        connectorsCount: 2,
+        evseConfiguration: { evsesCount: 2 },
+      })
       station = result.station
       // Get connector in EVSE 1
       const connector1 = station.getConnectorStatus(1)
@@ -335,7 +341,10 @@ await describe('ChargingStation Transaction Management', async () => {
 
     await it('should handle transactions across multiple EVSEs', () => {
       // Arrange - 4 connectors across 2 EVSEs
-      const result = createMockChargingStation({ connectorsCount: 4, evsesCount: 2 })
+      const result = createMockChargingStation({
+        connectorsCount: 4,
+        evseConfiguration: { evsesCount: 2 },
+      })
       station = result.station
 
       // Set up transaction on connector 1 (EVSE 1) and connector 3 (EVSE 2)
@@ -399,7 +408,10 @@ await describe('ChargingStation Transaction Management', async () => {
 
     await it('should return idTag in EVSE mode for getTransactionIdTag', () => {
       // Arrange
-      const result = createMockChargingStation({ connectorsCount: 2, evsesCount: 2 })
+      const result = createMockChargingStation({
+        connectorsCount: 2,
+        evseConfiguration: { evsesCount: 2 },
+      })
       station = result.station
 
       const connector2 = station.getConnectorStatus(2)
index ce58592c59803e6e7e929957234ede4284bd5d91..e0b7557a223c994a8cfb8735daaef4f63512038b 100644 (file)
@@ -52,7 +52,10 @@ await describe('ChargingStation Integration Tests', async () => {
     })
 
     await it('should create mock charging station with EVSE mode', () => {
-      const result = createMockChargingStation({ connectorsCount: 4, evsesCount: 2 })
+      const result = createMockChargingStation({
+        connectorsCount: 4,
+        evseConfiguration: { evsesCount: 2 },
+      })
       const station = result.station
 
       expect(station.hasEvses).toBe(true)
@@ -175,7 +178,10 @@ await describe('ChargingStation Integration Tests', async () => {
 
     await it('should support EVSE mode with reservations', async () => {
       // Create station with EVSEs
-      const result = createMockChargingStation({ connectorsCount: 2, evsesCount: 1 })
+      const result = createMockChargingStation({
+        connectorsCount: 2,
+        evseConfiguration: { evsesCount: 1 },
+      })
       station = result.station
 
       // Verify EVSE structure
index 2e61b339950e710771de0f96e9769ff35fc3ef66..e0f047b8f5e19db88df464637fdfba1d7411f55b 100644 (file)
@@ -91,9 +91,6 @@ export interface MockChargingStationOptions {
     evsesCount?: number
   }
 
-  /** Number of EVSEs (enables EVSE mode if > 0) - deprecated, use evseConfiguration */
-  evsesCount?: number
-
   /** Heartbeat interval in seconds */
   heartbeatInterval?: number
 
@@ -290,7 +287,6 @@ export function createMockChargingStation (
     connectorDefaults,
     connectorsCount = 2,
     evseConfiguration,
-    evsesCount = 0,
     heartbeatInterval = TEST_HEARTBEAT_INTERVAL_SECONDS,
     index = 1,
     ocppConfiguration,
@@ -305,8 +301,8 @@ export function createMockChargingStation (
   } = options
 
   // Determine EVSE usage: explicit config OR OCPP 2.0/2.0.1 auto-detection
-  const useEvses = determineEvseUsage(options, evsesCount)
-  const effectiveEvsesCount = evseConfiguration?.evsesCount ?? evsesCount
+  const useEvses = determineEvseUsage(options)
+  const effectiveEvsesCount = evseConfiguration?.evsesCount ?? 0
 
   // Initialize mocks
   const mockWebSocket = new MockWebSocket(`ws://localhost:8080/${baseName}-${String(index)}`)
@@ -945,13 +941,9 @@ export async function waitForCondition (
 /**
  * Determines whether EVSEs should be used based on configuration
  * @param options - Configuration options to check
- * @param legacyEvsesCount - Legacy evsesCount option for backward compatibility
  * @returns True if EVSEs should be used, false otherwise
  */
-function determineEvseUsage (
-  options: MockChargingStationOptions,
-  legacyEvsesCount: number
-): boolean {
+function determineEvseUsage (options: MockChargingStationOptions): boolean {
   // If explicitly set to 0, don't use EVSEs
   if (options.evseConfiguration?.evsesCount === 0) {
     return false
@@ -960,7 +952,6 @@ function determineEvseUsage (
   const effectiveOcppVersion = options.stationInfo?.ocppVersion ?? options.ocppVersion
   return (
     options.evseConfiguration?.evsesCount != null ||
-    legacyEvsesCount > 0 ||
     effectiveOcppVersion === OCPPVersion.VERSION_20 ||
     effectiveOcppVersion === OCPPVersion.VERSION_201
   )
index 32f2c6cb33e90d0f08fb2ca2875c46e033248fb8..04e75bc74317a673eec2b8f7768f8c41f2e3720e 100644 (file)
@@ -186,19 +186,3 @@ export class MockWebSocket extends EventEmitter {
     this.emit('close', 1006, Buffer.from('Connection terminated'))
   }
 }
-
-/**
- * Factory function to create a MockWebSocket configured for UI protocol
- * @param protocol - UI protocol version (default: 'ui0.0.1')
- * @returns MockWebSocket instance configured for UI testing
- * @example
- * ```typescript
- * const uiWs = createUIProtocolMock()
- * expect(uiWs.protocol).toBe('ui0.0.1')
- * ```
- */
-export function createUIProtocolMock (protocol = 'ui0.0.1'): MockWebSocket {
-  const ws = new MockWebSocket('ws://localhost:8080/ui')
-  ws.protocol = protocol
-  return ws
-}
index bc5a0458118e66af5215ac6b92ed6a931126c46e..f22dddf6890aa6fc276fe4431d5521ca1331bf01 100644 (file)
@@ -20,21 +20,18 @@ import {
   ProcedureName,
   ResponseStatus,
 } from '../../../src/types/index.js'
-import { waitForCondition } from '../helpers/StationHelpers.js'
-import { MockWebSocket as BaseMockWebSocket, createUIProtocolMock } from '../mocks/MockWebSocket.js'
-
-// Re-export MockWebSocket for backward compatibility
-// Note: Use createMockUIWebSocket() factory for new code
-export { BaseMockWebSocket as MockWebSocket }
+import { MockWebSocket } from '../mocks/MockWebSocket.js'
 
 /**
  * Create a MockWebSocket configured for UI protocol testing.
  * @param protocol - UI protocol version (default: 'ui0.0.1')
  * @returns MockWebSocket instance configured for UI testing
  */
-export const createMockUIWebSocket = createUIProtocolMock
-// Re-export waitForCondition for backward compatibility
-export { waitForCondition }
+export function createMockUIWebSocket (protocol = 'ui0.0.1'): MockWebSocket {
+  const ws = new MockWebSocket('ws://localhost:8080/ui')
+  ws.protocol = protocol
+  return ws
+}
 
 export const createMockUIServerConfiguration = (
   overrides?: Partial<UIServerConfiguration>