]> Piment Noir Git Repositories - e-mobility-charging-stations-simulator.git/commitdiff
refactor(ui-web): replace string literals with OCPP16ChargePointStatus enum in tests
authorJérôme Benoit <jerome.benoit@sap.com>
Thu, 30 Apr 2026 13:50:05 +0000 (15:50 +0200)
committerJérôme Benoit <jerome.benoit@sap.com>
Thu, 30 Apr 2026 13:50:05 +0000 (15:50 +0200)
Use enum constants instead of raw strings for connector status values
in test assertions and mock data for type safety and refactoring ease.

ui/web/tests/unit/shared/composables/stationStatus.test.ts
ui/web/tests/unit/skins/modern/ConnectorRow.test.ts

index f39aba8845ad39ab83c69ad47a4fae6a866b5a13..b90b075ecae5e7005cfbc602f49d1d943cc7386f 100644 (file)
@@ -4,6 +4,7 @@
  */
 import type { ChargingStationData } from 'ui-common'
 
+import { OCPP16ChargePointStatus } from 'ui-common'
 import { describe, expect, it } from 'vitest'
 
 import {
@@ -16,47 +17,47 @@ import {
 describe('stationStatus', () => {
   describe('getConnectorStatusVariant', () => {
     it('should return ok for Available', () => {
-      const result = getConnectorStatusVariant('Available')
+      const result = getConnectorStatusVariant(OCPP16ChargePointStatus.AVAILABLE)
       expect(result).toBe('ok')
     })
 
     it('should return warn for Charging', () => {
-      const result = getConnectorStatusVariant('Charging')
+      const result = getConnectorStatusVariant(OCPP16ChargePointStatus.CHARGING)
       expect(result).toBe('warn')
     })
 
     it('should return warn for Occupied', () => {
-      const result = getConnectorStatusVariant('Occupied')
+      const result = getConnectorStatusVariant(OCPP16ChargePointStatus.OCCUPIED)
       expect(result).toBe('warn')
     })
 
     it('should return warn for Preparing', () => {
-      const result = getConnectorStatusVariant('Preparing')
+      const result = getConnectorStatusVariant(OCPP16ChargePointStatus.PREPARING)
       expect(result).toBe('warn')
     })
 
     it('should return warn for SuspendedEV', () => {
-      const result = getConnectorStatusVariant('SuspendedEV')
+      const result = getConnectorStatusVariant(OCPP16ChargePointStatus.SUSPENDED_EV)
       expect(result).toBe('warn')
     })
 
     it('should return warn for SuspendedEVSE', () => {
-      const result = getConnectorStatusVariant('SuspendedEVSE')
+      const result = getConnectorStatusVariant(OCPP16ChargePointStatus.SUSPENDED_EVSE)
       expect(result).toBe('warn')
     })
 
     it('should return warn for Finishing', () => {
-      const result = getConnectorStatusVariant('Finishing')
+      const result = getConnectorStatusVariant(OCPP16ChargePointStatus.FINISHING)
       expect(result).toBe('warn')
     })
 
     it('should return err for Faulted', () => {
-      const result = getConnectorStatusVariant('Faulted')
+      const result = getConnectorStatusVariant(OCPP16ChargePointStatus.FAULTED)
       expect(result).toBe('err')
     })
 
     it('should return err for Unavailable', () => {
-      const result = getConnectorStatusVariant('Unavailable')
+      const result = getConnectorStatusVariant(OCPP16ChargePointStatus.UNAVAILABLE)
       expect(result).toBe('err')
     })
 
@@ -132,9 +133,9 @@ describe('stationStatus', () => {
     it('should return connector entries from connectors array', () => {
       const station = {
         connectors: [
-          { connectorId: 0, connectorStatus: 'Available' },
-          { connectorId: 1, connectorStatus: 'Charging' },
-          { connectorId: 2, connectorStatus: 'Available' },
+          { connectorId: 0, connectorStatus: OCPP16ChargePointStatus.AVAILABLE },
+          { connectorId: 1, connectorStatus: OCPP16ChargePointStatus.CHARGING },
+          { connectorId: 2, connectorStatus: OCPP16ChargePointStatus.AVAILABLE },
         ],
       } as unknown as ChargingStationData
       const entries = getConnectorEntries(station)
@@ -148,14 +149,16 @@ describe('stationStatus', () => {
         evses: [
           {
             evseId: 0,
-            evseStatus: { connectors: [{ connectorId: 1, connectorStatus: 'Available' }] },
+            evseStatus: {
+              connectors: [{ connectorId: 1, connectorStatus: OCPP16ChargePointStatus.AVAILABLE }],
+            },
           },
           {
             evseId: 1,
             evseStatus: {
               connectors: [
-                { connectorId: 0, connectorStatus: 'Available' },
-                { connectorId: 1, connectorStatus: 'Charging' },
+                { connectorId: 0, connectorStatus: OCPP16ChargePointStatus.AVAILABLE },
+                { connectorId: 1, connectorStatus: OCPP16ChargePointStatus.CHARGING },
               ],
             },
           },
@@ -169,7 +172,7 @@ describe('stationStatus', () => {
 
     it('should fall back to connectors when evses is empty', () => {
       const station = {
-        connectors: [{ connectorId: 1, connectorStatus: 'Available' }],
+        connectors: [{ connectorId: 1, connectorStatus: OCPP16ChargePointStatus.AVAILABLE }],
         evses: [],
       } as unknown as ChargingStationData
       const entries = getConnectorEntries(station)
index 0df05e53c280bb3b937fce3d7d259c79627eee68..19015e1941ed5776d661bfa31be9e377607a705e 100644 (file)
@@ -80,13 +80,13 @@ describe('ConnectorRow', () => {
 
   describe('status pill variants', () => {
     it.each<[string, string]>([
-      ['Available', 'modern-pill--ok'],
-      ['Charging', 'modern-pill--warn'],
-      ['Occupied', 'modern-pill--warn'],
-      ['Preparing', 'modern-pill--warn'],
-      ['Faulted', 'modern-pill--err'],
-      ['Unavailable', 'modern-pill--err'],
-      ['Reserved', 'modern-pill--idle'],
+      [OCPP16ChargePointStatus.AVAILABLE, 'modern-pill--ok'],
+      [OCPP16ChargePointStatus.CHARGING, 'modern-pill--warn'],
+      [OCPP16ChargePointStatus.OCCUPIED, 'modern-pill--warn'],
+      [OCPP16ChargePointStatus.PREPARING, 'modern-pill--warn'],
+      [OCPP16ChargePointStatus.FAULTED, 'modern-pill--err'],
+      [OCPP16ChargePointStatus.UNAVAILABLE, 'modern-pill--err'],
+      [OCPP16ChargePointStatus.RESERVED, 'modern-pill--idle'],
     ])('should map status "%s" to class %s', (status, cls) => {
       wrapper = mountRow({ connector: { status } })
       const pills = wrapper.findAll('.modern-pill')