chargingStation: ChargingStation,
payload: OCPP20TransactionEventResponse,
requestPayload: OCPP20TransactionEventRequest
- ) => void
+ ) => Promise<void>
}
/**
standardCleanup()
})
- await it('should not stop transaction when idTokenInfo status is Accepted', () => {
+ await it('should not stop transaction when idTokenInfo status is Accepted', async () => {
// Arrange
const mockDeauthTransaction = mock.method(
OCPP20ServiceUtils,
const requestPayload = buildTransactionEventRequest(TEST_TRANSACTION_UUID)
// Act
- testable.handleResponseTransactionEvent(station, payload, requestPayload)
+ await testable.handleResponseTransactionEvent(station, payload, requestPayload)
// Assert
assert.strictEqual(mockDeauthTransaction.mock.calls.length, 0)
})
- await it('should stop only the specific transaction when idTokenInfo status is Invalid', () => {
+ await it('should stop only the specific transaction when idTokenInfo status is Invalid', async () => {
// Arrange
const mockDeauthTransaction = mock.method(
OCPP20ServiceUtils,
const requestPayload = buildTransactionEventRequest(TEST_TRANSACTION_UUID)
// Act
- testable.handleResponseTransactionEvent(station, payload, requestPayload)
+ await testable.handleResponseTransactionEvent(station, payload, requestPayload)
// Assert — only the specific connector (1) on EVSE (1) is stopped
assert.strictEqual(mockDeauthTransaction.mock.calls.length, 1)
assert.strictEqual(mockDeauthTransaction.mock.calls[0].arguments[2], 1)
})
- await it('should stop only the specific transaction when idTokenInfo status is Blocked', () => {
+ await it('should stop only the specific transaction when idTokenInfo status is Blocked', async () => {
// Arrange
const mockDeauthTransaction = mock.method(
OCPP20ServiceUtils,
const requestPayload = buildTransactionEventRequest(TEST_TRANSACTION_UUID)
// Act
- testable.handleResponseTransactionEvent(station, payload, requestPayload)
+ await testable.handleResponseTransactionEvent(station, payload, requestPayload)
// Assert
assert.strictEqual(mockDeauthTransaction.mock.calls.length, 1)
assert.strictEqual(mockDeauthTransaction.mock.calls[0].arguments[0], station)
})
- await it('should not stop transaction when only chargingPriority is present', () => {
+ await it('should not stop transaction when only chargingPriority is present', async () => {
// Arrange
const mockDeauthTransaction = mock.method(
OCPP20ServiceUtils,
const requestPayload = buildTransactionEventRequest(TEST_TRANSACTION_UUID)
// Act
- testable.handleResponseTransactionEvent(station, payload, requestPayload)
+ await testable.handleResponseTransactionEvent(station, payload, requestPayload)
// Assert
assert.strictEqual(mockDeauthTransaction.mock.calls.length, 0)
})
- await it('should handle empty response without stopping transaction', () => {
+ await it('should handle empty response without stopping transaction', async () => {
// Arrange
const mockDeauthTransaction = mock.method(
OCPP20ServiceUtils,
const requestPayload = buildTransactionEventRequest(TEST_TRANSACTION_UUID)
// Act
- testable.handleResponseTransactionEvent(station, payload, requestPayload)
+ await testable.handleResponseTransactionEvent(station, payload, requestPayload)
// Assert
assert.strictEqual(mockDeauthTransaction.mock.calls.length, 0)
})
- await it('should stop only the specific transaction when idTokenInfo status is Expired', () => {
+ await it('should stop only the specific transaction when idTokenInfo status is Expired', async () => {
// Arrange
const mockDeauthTransaction = mock.method(
OCPP20ServiceUtils,
const requestPayload = buildTransactionEventRequest(TEST_TRANSACTION_UUID)
// Act
- testable.handleResponseTransactionEvent(station, payload, requestPayload)
+ await testable.handleResponseTransactionEvent(station, payload, requestPayload)
// Assert
assert.strictEqual(mockDeauthTransaction.mock.calls.length, 1)
})
- await it('should stop only the specific transaction when idTokenInfo status is NoCredit', () => {
+ await it('should stop only the specific transaction when idTokenInfo status is NoCredit', async () => {
// Arrange
const mockDeauthTransaction = mock.method(
OCPP20ServiceUtils,
const requestPayload = buildTransactionEventRequest(TEST_TRANSACTION_UUID)
// Act
- testable.handleResponseTransactionEvent(station, payload, requestPayload)
+ await testable.handleResponseTransactionEvent(station, payload, requestPayload)
// Assert
assert.strictEqual(mockDeauthTransaction.mock.calls.length, 1)
})
- await it('should not stop transaction when response has totalCost and updatedPersonalMessage', () => {
+ await it('should not stop transaction when response has totalCost and updatedPersonalMessage', async () => {
// Arrange
const mockDeauthTransaction = mock.method(
OCPP20ServiceUtils,
const requestPayload = buildTransactionEventRequest(TEST_TRANSACTION_UUID)
// Act
- testable.handleResponseTransactionEvent(station, payload, requestPayload)
+ await testable.handleResponseTransactionEvent(station, payload, requestPayload)
// Assert
assert.strictEqual(mockDeauthTransaction.mock.calls.length, 0)
})
- await it('should stop only the targeted transaction on multi-EVSE station', () => {
+ await it('should stop only the targeted transaction on multi-EVSE station', async () => {
// Set up a 2-EVSE station with active transactions on both EVSEs
const txn1: UUIDv4 = '00000000-0000-0000-0000-000000000010'
const txn2: UUIDv4 = '00000000-0000-0000-0000-000000000020'
const multiTestable = createTestableResponseService(new OCPP20ResponseService())
// Act — reject EVSE 1's transaction only
- multiTestable.handleResponseTransactionEvent(
+ await multiTestable.handleResponseTransactionEvent(
multiStation,
payload,
buildTransactionEventRequest(txn1)