From 5690da477c2d6c2bd17c3fd4e95598f2fd39fd77 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Benoit?= Date: Thu, 2 Apr 2026 23:08:43 +0200 Subject: [PATCH] refactor(tests): use setupConnectorWithTransaction shared helper Replace 19 inline transaction setup patterns across 3 test files with the shared setupConnectorWithTransaction helper. Only migrates sites where both transactionStarted and transactionId are set together. --- ...uestService-RemoteStartTransaction.test.ts | 12 ++--- ...OCPP16IncomingRequestService-Reset.test.ts | 17 +++--- ...CPP20ServiceUtils-TransactionEvent.test.ts | 54 ++++++++----------- 3 files changed, 33 insertions(+), 50 deletions(-) diff --git a/tests/charging-station/ocpp/1.6/OCPP16IncomingRequestService-RemoteStartTransaction.test.ts b/tests/charging-station/ocpp/1.6/OCPP16IncomingRequestService-RemoteStartTransaction.test.ts index 4fb6e6ad..eb1ea3f6 100644 --- a/tests/charging-station/ocpp/1.6/OCPP16IncomingRequestService-RemoteStartTransaction.test.ts +++ b/tests/charging-station/ocpp/1.6/OCPP16IncomingRequestService-RemoteStartTransaction.test.ts @@ -18,7 +18,11 @@ import { OCPP16IncomingRequestCommand, OCPP16RequestCommand, } from '../../../../src/types/index.js' -import { flushMicrotasks, standardCleanup } from '../../../helpers/TestLifecycleHelpers.js' +import { + flushMicrotasks, + setupConnectorWithTransaction, + standardCleanup, +} from '../../../helpers/TestLifecycleHelpers.js' import { createOCPP16IncomingRequestTestContext, createOCPP16ListenerStation, @@ -75,11 +79,7 @@ await describe('OCPP16IncomingRequestService — RemoteStartTransaction', async // Set all connectors as having active transactions for (let connectorId = 1; connectorId <= station.getNumberOfConnectors(); connectorId++) { - const connectorStatus = station.getConnectorStatus(connectorId) - if (connectorStatus != null) { - connectorStatus.transactionStarted = true - connectorStatus.transactionId = connectorId * 100 - } + setupConnectorWithTransaction(station, connectorId, { transactionId: connectorId * 100 }) } const request: RemoteStartTransactionRequest = { diff --git a/tests/charging-station/ocpp/1.6/OCPP16IncomingRequestService-Reset.test.ts b/tests/charging-station/ocpp/1.6/OCPP16IncomingRequestService-Reset.test.ts index 191983aa..dfc2e367 100644 --- a/tests/charging-station/ocpp/1.6/OCPP16IncomingRequestService-Reset.test.ts +++ b/tests/charging-station/ocpp/1.6/OCPP16IncomingRequestService-Reset.test.ts @@ -9,7 +9,10 @@ import { afterEach, beforeEach, describe, it } from 'node:test' import type { ResetRequest } from '../../../../src/types/index.js' import { GenericStatus, ResetType } from '../../../../src/types/index.js' -import { standardCleanup } from '../../../helpers/TestLifecycleHelpers.js' +import { + setupConnectorWithTransaction, + standardCleanup, +} from '../../../helpers/TestLifecycleHelpers.js' import { createOCPP16IncomingRequestTestContext, type OCPP16IncomingRequestTestContext, @@ -70,11 +73,7 @@ await describe('OCPP16IncomingRequestService — Reset', async () => { // Arrange const { testableService } = testContext const station = ResetFixtures.createStandardStation(1) - const connectorStatus = station.getConnectorStatus(1) - if (connectorStatus != null) { - connectorStatus.transactionStarted = true - connectorStatus.transactionId = 1 - } + setupConnectorWithTransaction(station, 1, { transactionId: 1 }) const resetRequest: ResetRequest = { type: ResetType.HARD, @@ -95,11 +94,7 @@ await describe('OCPP16IncomingRequestService — Reset', async () => { // Arrange const { testableService } = testContext const station = ResetFixtures.createStandardStation(1) - const connectorStatus = station.getConnectorStatus(1) - if (connectorStatus != null) { - connectorStatus.transactionStarted = true - connectorStatus.transactionId = 1 - } + setupConnectorWithTransaction(station, 1, { transactionId: 1 }) const resetRequest: ResetRequest = { type: ResetType.SOFT, diff --git a/tests/charging-station/ocpp/2.0/OCPP20ServiceUtils-TransactionEvent.test.ts b/tests/charging-station/ocpp/2.0/OCPP20ServiceUtils-TransactionEvent.test.ts index 6b49cd29..9e69ba96 100644 --- a/tests/charging-station/ocpp/2.0/OCPP20ServiceUtils-TransactionEvent.test.ts +++ b/tests/charging-station/ocpp/2.0/OCPP20ServiceUtils-TransactionEvent.test.ts @@ -44,7 +44,11 @@ import { OCPPVersion, } from '../../../../src/types/index.js' import { Constants, generateUUID } from '../../../../src/utils/index.js' -import { standardCleanup, withMockTimers } from '../../../helpers/TestLifecycleHelpers.js' +import { + setupConnectorWithTransaction, + standardCleanup, + withMockTimers, +} from '../../../helpers/TestLifecycleHelpers.js' import { TEST_CHARGING_STATION_BASE_NAME } from '../../ChargingStationTestConstants.js' import { createMockChargingStation } from '../../ChargingStationTestUtils.js' import { @@ -923,8 +927,7 @@ await describe('OCPP20 TransactionEvent ServiceUtils', async () => { } // Set transaction ID at start - connectorStatus.transactionId = transactionId - connectorStatus.transactionStarted = true + setupConnectorWithTransaction(mockStation, connectorId, { transactionId }) connectorStatus.status = ConnectorStatusEnum.Preparing // Transition to charging @@ -1665,8 +1668,7 @@ await describe('OCPP20 TransactionEvent ServiceUtils', async () => { const connectorStatus = mockStation.getConnectorStatus(connectorId) assert(connectorStatus != null) - connectorStatus.transactionStarted = true - connectorStatus.transactionId = transactionId + setupConnectorWithTransaction(mockStation, connectorId, { transactionId }) connectorStatus.locked = true assert.strictEqual(connectorStatus.transactionEventQueue?.length, 2) @@ -2410,9 +2412,8 @@ await describe('OCPP20 TransactionEvent ServiceUtils', async () => { const transactionId = generateUUID() const connectorStatus = mockTracking.station.getConnectorStatus(connectorId) assert.notStrictEqual(connectorStatus, undefined) + setupConnectorWithTransaction(mockTracking.station, connectorId, { transactionId }) if (connectorStatus != null) { - connectorStatus.transactionStarted = true - connectorStatus.transactionId = transactionId connectorStatus.transactionEnergyActiveImportRegisterValue = 0 } @@ -2442,9 +2443,8 @@ await describe('OCPP20 TransactionEvent ServiceUtils', async () => { const transactionId = generateUUID() const connectorStatus = mockTracking.station.getConnectorStatus(connectorId) assert.notStrictEqual(connectorStatus, undefined) + setupConnectorWithTransaction(mockTracking.station, connectorId, { transactionId }) if (connectorStatus != null) { - connectorStatus.transactionStarted = true - connectorStatus.transactionId = transactionId connectorStatus.transactionEnergyActiveImportRegisterValue = 1500 } @@ -2497,9 +2497,8 @@ await describe('OCPP20 TransactionEvent ServiceUtils', async () => { const transactionId = generateUUID() const connectorStatus = mockTracking.station.getConnectorStatus(connectorId) assert.notStrictEqual(connectorStatus, undefined) + setupConnectorWithTransaction(mockTracking.station, connectorId, { transactionId }) if (connectorStatus != null) { - connectorStatus.transactionStarted = true - connectorStatus.transactionId = transactionId connectorStatus.transactionEnergyActiveImportRegisterValue = 100 connectorStatus.transactionDeauthorized = true connectorStatus.transactionDeauthorizedEnergyWh = 50 @@ -2537,9 +2536,8 @@ await describe('OCPP20 TransactionEvent ServiceUtils', async () => { const transactionId = generateUUID() const connectorStatus = mockTracking.station.getConnectorStatus(connectorId) assert.notStrictEqual(connectorStatus, undefined) + setupConnectorWithTransaction(mockTracking.station, connectorId, { transactionId }) if (connectorStatus != null) { - connectorStatus.transactionStarted = true - connectorStatus.transactionId = transactionId connectorStatus.transactionEnergyActiveImportRegisterValue = 0 } OCPP20VariableManager.getInstance().setVariables(mockTracking.station, [ @@ -2582,8 +2580,7 @@ await describe('OCPP20 TransactionEvent ServiceUtils', async () => { if (connectorStatus == null) { assert.fail('connectorStatus should not be undefined') } - connectorStatus.transactionStarted = true - connectorStatus.transactionId = transactionId + setupConnectorWithTransaction(mockTracking.station, connectorId, { transactionId }) connectorStatus.transactionEnergyActiveImportRegisterValue = 500 connectorStatus.transactionDeauthorized = true connectorStatus.transactionDeauthorizedEnergyWh = 500 @@ -2597,9 +2594,8 @@ await describe('OCPP20 TransactionEvent ServiceUtils', async () => { const connectorId = 1 const transactionId = generateUUID() const connectorStatus = mockTracking.station.getConnectorStatus(connectorId) + setupConnectorWithTransaction(mockTracking.station, connectorId, { transactionId }) if (connectorStatus != null) { - connectorStatus.transactionStarted = true - connectorStatus.transactionId = transactionId connectorStatus.transactionEnergyActiveImportRegisterValue = 0 } @@ -2645,9 +2641,8 @@ await describe('OCPP20 TransactionEvent ServiceUtils', async () => { const transactionId = generateUUID() const connectorStatus = mockTracking.station.getConnectorStatus(connectorId) assert.notStrictEqual(connectorStatus, undefined) + setupConnectorWithTransaction(mockTracking.station, connectorId, { transactionId }) if (connectorStatus != null) { - connectorStatus.transactionStarted = true - connectorStatus.transactionId = transactionId connectorStatus.transactionEnergyActiveImportRegisterValue = 0 } @@ -2674,9 +2669,8 @@ await describe('OCPP20 TransactionEvent ServiceUtils', async () => { const customStoppedReason = OCPP20ReasonEnumType.DeAuthorized const connectorStatus = mockTracking.station.getConnectorStatus(connectorId) assert.notStrictEqual(connectorStatus, undefined) + setupConnectorWithTransaction(mockTracking.station, connectorId, { transactionId }) if (connectorStatus != null) { - connectorStatus.transactionStarted = true - connectorStatus.transactionId = transactionId connectorStatus.transactionEnergyActiveImportRegisterValue = 0 } @@ -2738,8 +2732,7 @@ await describe('OCPP20 TransactionEvent ServiceUtils', async () => { const transactionId = generateUUID() const connectorStatus = station.getConnectorStatus(1) if (connectorStatus != null) { - connectorStatus.transactionId = transactionId - connectorStatus.transactionStarted = true + setupConnectorWithTransaction(station, 1, { transactionId }) connectorStatus.transactionEnergyActiveImportRegisterValue = 1234 } @@ -2781,8 +2774,7 @@ await describe('OCPP20 TransactionEvent ServiceUtils', async () => { const transactionId = generateUUID() const connectorStatus = station.getConnectorStatus(1) if (connectorStatus != null) { - connectorStatus.transactionId = transactionId - connectorStatus.transactionStarted = true + setupConnectorWithTransaction(station, 1, { transactionId }) connectorStatus.transactionEnergyActiveImportRegisterValue = 0 } @@ -2798,8 +2790,7 @@ await describe('OCPP20 TransactionEvent ServiceUtils', async () => { const transactionId = generateUUID() const connectorStatus = station.getConnectorStatus(1) if (connectorStatus != null) { - connectorStatus.transactionId = transactionId - connectorStatus.transactionStarted = true + setupConnectorWithTransaction(station, 1, { transactionId }) connectorStatus.transactionEnergyActiveImportRegisterValue = 0 } @@ -2841,8 +2832,7 @@ await describe('OCPP20 TransactionEvent ServiceUtils', async () => { const transactionId = generateUUID() const connectorStatus = mockTracking.station.getConnectorStatus(1) if (connectorStatus != null) { - connectorStatus.transactionId = transactionId - connectorStatus.transactionStarted = true + setupConnectorWithTransaction(mockTracking.station, 1, { transactionId }) connectorStatus.transactionEnergyActiveImportRegisterValue = 5678 } @@ -2883,8 +2873,7 @@ await describe('OCPP20 TransactionEvent ServiceUtils', async () => { const transactionId = generateUUID() const connectorStatus = mockTracking.station.getConnectorStatus(1) if (connectorStatus != null) { - connectorStatus.transactionId = transactionId - connectorStatus.transactionStarted = true + setupConnectorWithTransaction(mockTracking.station, 1, { transactionId }) connectorStatus.transactionEnergyActiveImportRegisterValue = 0 } @@ -2907,8 +2896,7 @@ await describe('OCPP20 TransactionEvent ServiceUtils', async () => { const transactionId = generateUUID() const connectorStatus = mockTracking.station.getConnectorStatus(1) if (connectorStatus != null) { - connectorStatus.transactionId = transactionId - connectorStatus.transactionStarted = true + setupConnectorWithTransaction(mockTracking.station, 1, { transactionId }) connectorStatus.transactionEnergyActiveImportRegisterValue = 5678 } -- 2.43.0