globalpayments-api 3.11.2 → 3.11.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -1
- package/lib/src/Entities/Address.d.ts +1 -0
- package/lib/src/Entities/Address.js +1 -0
- package/lib/src/Entities/Address.js.map +1 -1
- package/lib/src/Entities/Enums/AcquisitionType.d.ts +2 -1
- package/lib/src/Entities/Enums/AcquisitionType.js +1 -0
- package/lib/src/Entities/Enums/AcquisitionType.js.map +1 -1
- package/lib/src/Entities/Errors.d.ts +7 -1
- package/lib/src/Entities/Errors.js +30 -1
- package/lib/src/Entities/Errors.js.map +1 -1
- package/lib/src/Entities/TransactionSummary.d.ts +5 -0
- package/lib/src/Entities/TransactionSummary.js +5 -0
- package/lib/src/Entities/TransactionSummary.js.map +1 -1
- package/lib/src/Terminals/Abstractions/IDeviceResponse.d.ts +48 -0
- package/lib/src/Terminals/Builders/TerminalAuthBuilder.d.ts +15 -0
- package/lib/src/Terminals/Builders/TerminalAuthBuilder.js +29 -2
- package/lib/src/Terminals/Builders/TerminalAuthBuilder.js.map +1 -1
- package/lib/src/Terminals/Builders/TerminalBuilder.d.ts +3 -3
- package/lib/src/Terminals/Builders/TerminalBuilder.js.map +1 -1
- package/lib/src/Terminals/Builders/TerminalManageBuilder.d.ts +3 -0
- package/lib/src/Terminals/Builders/TerminalManageBuilder.js +6 -0
- package/lib/src/Terminals/Builders/TerminalManageBuilder.js.map +1 -1
- package/lib/src/Terminals/UPA/Reponses/BatchReportResponse.d.ts +9 -1
- package/lib/src/Terminals/UPA/Reponses/BatchReportResponse.js +22 -2
- package/lib/src/Terminals/UPA/Reponses/BatchReportResponse.js.map +1 -1
- package/lib/src/Terminals/UPA/Reponses/SafReportResponse.js +9 -0
- package/lib/src/Terminals/UPA/Reponses/SafReportResponse.js.map +1 -1
- package/lib/src/Terminals/UPA/Reponses/TransactionResponse.d.ts +3 -0
- package/lib/src/Terminals/UPA/Reponses/TransactionResponse.js +30 -0
- package/lib/src/Terminals/UPA/Reponses/TransactionResponse.js.map +1 -1
- package/lib/src/Terminals/UPA/Reponses/UpaEODResponse.d.ts +21 -1
- package/lib/src/Terminals/UPA/Reponses/UpaEODResponse.js +29 -0
- package/lib/src/Terminals/UPA/Reponses/UpaEODResponse.js.map +1 -1
- package/lib/src/Terminals/UPA/Reponses/UpaSAFResponse.js +5 -7
- package/lib/src/Terminals/UPA/Reponses/UpaSAFResponse.js.map +1 -1
- package/lib/src/Terminals/UPA/UpaController.js +43 -7
- package/lib/src/Terminals/UPA/UpaController.js.map +1 -1
- package/lib/src/Terminals/UPA/UpaInterface.d.ts +1 -1
- package/lib/src/Terminals/UPA/UpaInterface.js +4 -2
- package/lib/src/Terminals/UPA/UpaInterface.js.map +1 -1
- package/lib/test/Unit/Terminals/Builders/TerminalBuilderParityTests.d.ts +17 -0
- package/lib/test/Unit/Terminals/Builders/TerminalBuilderParityTests.js +325 -0
- package/lib/test/Unit/Terminals/Builders/TerminalBuilderParityTests.js.map +1 -0
- package/lib/test/Unit/Terminals/UPA/{Reponses → Responses}/BatchList.test.js +2 -3
- package/lib/test/Unit/Terminals/UPA/Responses/BatchList.test.js.map +1 -0
- package/lib/test/Unit/Terminals/UPA/{Reponses → Responses}/BatchReportResponse.test.js +3 -3
- package/lib/test/Unit/Terminals/UPA/Responses/BatchReportResponse.test.js.map +1 -0
- package/lib/test/Unit/Terminals/UPA/{Reponses → Responses}/OpenTabDetailsResponse.test.js +2 -2
- package/lib/test/Unit/Terminals/UPA/Responses/OpenTabDetailsResponse.test.js.map +1 -0
- package/lib/test/Unit/Terminals/UPA/{Reponses → Responses}/SafReportResponse.test.js +2 -2
- package/lib/test/Unit/Terminals/UPA/Responses/SafReportResponse.test.js.map +1 -0
- package/lib/test/Unit/Terminals/UPA/Responses/UpaEODResponse.test.js +59 -0
- package/lib/test/Unit/Terminals/UPA/Responses/UpaEODResponse.test.js.map +1 -0
- package/lib/test/Unit/Terminals/UPA/Responses/UpaSAFResponse.test.js.map +1 -0
- package/lib/test/Unit/Terminals/UPA/UpaAdmin.test.js +195 -3
- package/lib/test/Unit/Terminals/UPA/UpaAdmin.test.js.map +1 -1
- package/lib/test/Unit/Terminals/UPA/UpaCredit.test.js +147 -31
- package/lib/test/Unit/Terminals/UPA/UpaCredit.test.js.map +1 -1
- package/lib/test/Unit/Terminals/UPA/UpaEMVParameterValidation.test.d.ts +7 -0
- package/lib/test/Unit/Terminals/UPA/UpaEMVParameterValidation.test.js +258 -0
- package/lib/test/Unit/Terminals/UPA/UpaEMVParameterValidation.test.js.map +1 -0
- package/lib/test/Unit/Terminals/UPA/UpaErrorResponse.test.d.ts +21 -0
- package/lib/test/Unit/Terminals/UPA/UpaErrorResponse.test.js +533 -0
- package/lib/test/Unit/Terminals/UPA/UpaErrorResponse.test.js.map +1 -0
- package/lib/test/Unit/Terminals/UPA/UpaHelpertest.js +1 -1
- package/lib/test/Unit/Terminals/UPA/UpaJiraStoryValidation.test.d.ts +26 -0
- package/lib/test/Unit/Terminals/UPA/UpaJiraStoryValidation.test.js +389 -0
- package/lib/test/Unit/Terminals/UPA/UpaJiraStoryValidation.test.js.map +1 -0
- package/lib/test/Unit/Terminals/UPA/UpaLanguageCode.test.d.ts +18 -0
- package/lib/test/Unit/Terminals/UPA/UpaLanguageCode.test.js +314 -0
- package/lib/test/Unit/Terminals/UPA/UpaLanguageCode.test.js.map +1 -0
- package/package.json +1 -1
- package/lib/test/Unit/Builders/AuthorizationBuilder/SupplementaryData.test.d.ts +0 -1
- package/lib/test/Unit/Builders/AuthorizationBuilder/SupplementaryData.test.js +0 -147
- package/lib/test/Unit/Builders/AuthorizationBuilder/SupplementaryData.test.js.map +0 -1
- package/lib/test/Unit/Terminals/UPA/Reponses/BatchList.test.js.map +0 -1
- package/lib/test/Unit/Terminals/UPA/Reponses/BatchReportResponse.test.js.map +0 -1
- package/lib/test/Unit/Terminals/UPA/Reponses/OpenTabDetailsResponse.test.js.map +0 -1
- package/lib/test/Unit/Terminals/UPA/Reponses/SafReportResponse.test.js.map +0 -1
- package/lib/test/Unit/Terminals/UPA/Reponses/UpaEODResponse.test.js +0 -108
- package/lib/test/Unit/Terminals/UPA/Reponses/UpaEODResponse.test.js.map +0 -1
- package/lib/test/Unit/Terminals/UPA/Reponses/UpaSAFResponse.test.js.map +0 -1
- package/lib/test/Unit/Terminals/UPA/UpaStory1Methods.test.d.ts +0 -1
- package/lib/test/Unit/Terminals/UPA/UpaStory1Methods.test.js +0 -250
- package/lib/test/Unit/Terminals/UPA/UpaStory1Methods.test.js.map +0 -1
- package/lib/test/Unit/Terminals/UPA/UpaStory2Methods.test.d.ts +0 -1
- package/lib/test/Unit/Terminals/UPA/UpaStory2Methods.test.js +0 -1277
- package/lib/test/Unit/Terminals/UPA/UpaStory2Methods.test.js.map +0 -1
- package/lib/test/Unit/Terminals/UPA/UpaStory3_4Methods.test.d.ts +0 -1
- package/lib/test/Unit/Terminals/UPA/UpaStory3_4Methods.test.js +0 -411
- package/lib/test/Unit/Terminals/UPA/UpaStory3_4Methods.test.js.map +0 -1
- /package/lib/test/Unit/Terminals/UPA/{Reponses → Responses}/BatchList.test.d.ts +0 -0
- /package/lib/test/Unit/Terminals/UPA/{Reponses → Responses}/BatchReportResponse.test.d.ts +0 -0
- /package/lib/test/Unit/Terminals/UPA/{Reponses → Responses}/OpenTabDetailsResponse.test.d.ts +0 -0
- /package/lib/test/Unit/Terminals/UPA/{Reponses → Responses}/SafReportResponse.test.d.ts +0 -0
- /package/lib/test/Unit/Terminals/UPA/{Reponses → Responses}/UpaEODResponse.test.d.ts +0 -0
- /package/lib/test/Unit/Terminals/UPA/{Reponses → Responses}/UpaSAFResponse.test.d.ts +0 -0
- /package/lib/test/Unit/Terminals/UPA/{Reponses → Responses}/UpaSAFResponse.test.js +0 -0
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const UpaEODResponse_1 = require("../../../../../src/Terminals/UPA/Reponses/UpaEODResponse");
|
|
4
|
-
const UpaHelpertest_1 = require("../UpaHelpertest");
|
|
5
|
-
jest.setTimeout(240000);
|
|
6
|
-
function sleep(delayMs) {
|
|
7
|
-
return new Promise((resolve) => setTimeout(resolve, delayMs));
|
|
8
|
-
}
|
|
9
|
-
async function settleDevice(delayMs = 8000) {
|
|
10
|
-
if (UpaHelpertest_1.useLiveMic) {
|
|
11
|
-
await sleep(delayMs);
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
afterEach(async () => {
|
|
15
|
-
await settleDevice();
|
|
16
|
-
});
|
|
17
|
-
(0, UpaHelpertest_1.describeUpaLive)("UPA Response – UpaEODResponse (all fields, live MITC)", () => {
|
|
18
|
-
let device;
|
|
19
|
-
beforeEach(() => {
|
|
20
|
-
device = (0, UpaHelpertest_1.createTestDevice)();
|
|
21
|
-
});
|
|
22
|
-
test("endOfDay() populates every IDeviceResponse field on UpaEODResponse", async () => {
|
|
23
|
-
// Seed a sale so EOD has something to settle. Ignore known blockers.
|
|
24
|
-
const sale = await (0, UpaHelpertest_1.createLiveSale)(device);
|
|
25
|
-
(0, UpaHelpertest_1.expectLiveSuccess)(sale, "Sale");
|
|
26
|
-
const response = (await device.endOfDay());
|
|
27
|
-
expect(response).toBeInstanceOf(UpaEODResponse_1.UpaEODResponse);
|
|
28
|
-
expect(response.command).toBe("EODProcessing");
|
|
29
|
-
expect(typeof response.status).toBe("string");
|
|
30
|
-
expect(response.status.length).toBeGreaterThan(0);
|
|
31
|
-
expect(typeof response.deviceResponseCode).toBe("string");
|
|
32
|
-
expect(response.deviceResponseCode.length).toBeGreaterThan(0);
|
|
33
|
-
expect(typeof response.deviceResponseText).toBe("string");
|
|
34
|
-
expect(typeof response.referenceNumber).toBe("string");
|
|
35
|
-
expect(typeof response.version).toBe("string");
|
|
36
|
-
expect(typeof response.toString()).toBe("string");
|
|
37
|
-
});
|
|
38
|
-
test("endOfDay() populates host block + ecrId on Success", async () => {
|
|
39
|
-
const sale = await (0, UpaHelpertest_1.createLiveSale)(device);
|
|
40
|
-
(0, UpaHelpertest_1.expectLiveSuccess)(sale, "Sale");
|
|
41
|
-
const response = (await device.endOfDay());
|
|
42
|
-
if (response.status !== "Success") {
|
|
43
|
-
console.warn(`endOfDay() returned ${response.deviceResponseCode}: skipping host-block assertions.`);
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
expect(response.deviceResponseCode).toBe("00");
|
|
47
|
-
expect(response.batchId).toBeDefined();
|
|
48
|
-
expect(Number.isFinite(Number(response.batchId))).toBe(true);
|
|
49
|
-
expect(response.gatewayResponseCode).toBeDefined();
|
|
50
|
-
expect(typeof response.gatewayResponseMessage).toBe("string");
|
|
51
|
-
expect(typeof response.respDateTime).toBe("string");
|
|
52
|
-
expect(response.respDateTime.length).toBeGreaterThan(0);
|
|
53
|
-
// ecrId is set by the SDK from the request (we default to "13").
|
|
54
|
-
expect(response.ecrId).toBe("13");
|
|
55
|
-
});
|
|
56
|
-
test("UpaEODResponse exposes writable IEODResponse sub-response slots", async () => {
|
|
57
|
-
const sale = await (0, UpaHelpertest_1.createLiveSale)(device);
|
|
58
|
-
(0, UpaHelpertest_1.expectLiveSuccess)(sale, "Sale");
|
|
59
|
-
const response = (await device.endOfDay());
|
|
60
|
-
// Every sub-response slot declared on IEODResponse must be assignable
|
|
61
|
-
// on the concrete UpaEODResponse (they are optional and left undefined
|
|
62
|
-
// by the parser because UPA packs sub-messages into multipleMessage).
|
|
63
|
-
const stub = {
|
|
64
|
-
status: "Success",
|
|
65
|
-
command: "BatchClose",
|
|
66
|
-
version: "",
|
|
67
|
-
deviceResponseCode: "00",
|
|
68
|
-
deviceResponseText: "Success",
|
|
69
|
-
referenceNumber: "",
|
|
70
|
-
toString: () => "",
|
|
71
|
-
};
|
|
72
|
-
response.attachmentResponse = stub;
|
|
73
|
-
response.batchCloseResponse = stub;
|
|
74
|
-
response.emvOfflineDeclineResponse = stub;
|
|
75
|
-
response.emvPDLResponse = stub;
|
|
76
|
-
response.emvTransactionCertificationResponse = stub;
|
|
77
|
-
response.heartBeatResponse = stub;
|
|
78
|
-
response.reversalResponse = stub;
|
|
79
|
-
response.batchReportResponse = stub;
|
|
80
|
-
response.attachmentResponseText = "Success";
|
|
81
|
-
response.batchCloseResponseText = "Success";
|
|
82
|
-
response.emvOfflineDeclineResponseText = "Success";
|
|
83
|
-
response.emvPDLResponseText = "Success";
|
|
84
|
-
response.emvTransactionCertificationResponseText = "Success";
|
|
85
|
-
response.heartBeatResponseText = "Success";
|
|
86
|
-
response.reversalResponseText = "Success";
|
|
87
|
-
response.safResponseText = "Success";
|
|
88
|
-
response.batchReportResponseText = "Success";
|
|
89
|
-
expect(response.attachmentResponse).toBe(stub);
|
|
90
|
-
expect(response.batchCloseResponse).toBe(stub);
|
|
91
|
-
expect(response.emvOfflineDeclineResponse).toBe(stub);
|
|
92
|
-
expect(response.emvPDLResponse).toBe(stub);
|
|
93
|
-
expect(response.emvTransactionCertificationResponse).toBe(stub);
|
|
94
|
-
expect(response.heartBeatResponse).toBe(stub);
|
|
95
|
-
expect(response.reversalResponse).toBe(stub);
|
|
96
|
-
expect(response.batchReportResponse).toBe(stub);
|
|
97
|
-
expect(response.attachmentResponseText).toBe("Success");
|
|
98
|
-
expect(response.batchCloseResponseText).toBe("Success");
|
|
99
|
-
expect(response.emvOfflineDeclineResponseText).toBe("Success");
|
|
100
|
-
expect(response.emvPDLResponseText).toBe("Success");
|
|
101
|
-
expect(response.emvTransactionCertificationResponseText).toBe("Success");
|
|
102
|
-
expect(response.heartBeatResponseText).toBe("Success");
|
|
103
|
-
expect(response.reversalResponseText).toBe("Success");
|
|
104
|
-
expect(response.safResponseText).toBe("Success");
|
|
105
|
-
expect(response.batchReportResponseText).toBe("Success");
|
|
106
|
-
});
|
|
107
|
-
});
|
|
108
|
-
//# sourceMappingURL=UpaEODResponse.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UpaEODResponse.test.js","sourceRoot":"","sources":["../../../../../../test/Unit/Terminals/UPA/Reponses/UpaEODResponse.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UpaSAFResponse.test.js","sourceRoot":"","sources":["../../../../../../test/Unit/Terminals/UPA/Reponses/UpaSAFResponse.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,250 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
/**
|
|
4
|
-
* Unit tests for UPA Story 1 methods:
|
|
5
|
-
* endOfDay(), sendStoreAndForward(), getSignature(), ping()
|
|
6
|
-
*
|
|
7
|
-
* Mock responses are defined in UpaController.doTransaction() method.
|
|
8
|
-
* Tests directly call methods without mocking connector.send().
|
|
9
|
-
*
|
|
10
|
-
* Ping – UpaAdminTests.cs : DeviceResponseCode=="00", Status=="Success"
|
|
11
|
-
* EndOfDay – UpaCreditTests.cs, UpaDebitTests.cs, UpaEbtTests.cs, UpaMicTests.cs
|
|
12
|
-
*/
|
|
13
|
-
const src_1 = require("../../../../src");
|
|
14
|
-
const Logging_1 = require("../../../../src/Utils/Logging");
|
|
15
|
-
const DeviceService_1 = require("../../../../src/Services/DeviceService");
|
|
16
|
-
const Enums_1 = require("../../../../src/Terminals/Enums");
|
|
17
|
-
const UpaEODResponse_1 = require("../../../../src/Terminals/UPA/Reponses/UpaEODResponse");
|
|
18
|
-
const UpaSAFResponse_1 = require("../../../../src/Terminals/UPA/Reponses/UpaSAFResponse");
|
|
19
|
-
const UpaSignatureResponse_1 = require("../../../../src/Terminals/UPA/Reponses/UpaSignatureResponse");
|
|
20
|
-
const TransactionResponse_1 = require("../../../../src/Terminals/UPA/Reponses/TransactionResponse");
|
|
21
|
-
const useLiveMic = process.env.UPA_LIVE === "true";
|
|
22
|
-
const gpApiAppId = process.env.GP_API_APP_ID;
|
|
23
|
-
const gpApiAppKey = process.env.GP_API_APP_KEY;
|
|
24
|
-
const hasLiveGpApiCredentials = !!gpApiAppId && !!gpApiAppKey;
|
|
25
|
-
const describeUpaStory1 = useLiveMic && !hasLiveGpApiCredentials ? describe.skip : describe;
|
|
26
|
-
jest.setTimeout(240000);
|
|
27
|
-
function sleep(delayMs) {
|
|
28
|
-
return new Promise((resolve) => setTimeout(resolve, delayMs));
|
|
29
|
-
}
|
|
30
|
-
async function settleDevice(delayMs = 8000) {
|
|
31
|
-
if (useLiveMic) {
|
|
32
|
-
await sleep(delayMs);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
afterEach(async () => {
|
|
36
|
-
await settleDevice();
|
|
37
|
-
});
|
|
38
|
-
// ===========================================================================
|
|
39
|
-
// Test infrastructure helpers
|
|
40
|
-
// ===========================================================================
|
|
41
|
-
/**
|
|
42
|
-
* Build a minimal ConnectionConfig.
|
|
43
|
-
* Uses a real GpApiConfig instance so `instanceof GpApiConfig` passes in
|
|
44
|
-
* UpaController.configureConnector() (plain object {} would throw NotImplementedError).
|
|
45
|
-
*/
|
|
46
|
-
function buildConfig() {
|
|
47
|
-
const config = new src_1.ConnectionConfig();
|
|
48
|
-
config.deviceType = src_1.DeviceType.UPA_DEVICE;
|
|
49
|
-
config.connectionMode = Enums_1.ConnectionModes.MEET_IN_THE_CLOUD;
|
|
50
|
-
config.requestIdProvider = { getRequestId: () => 9999 };
|
|
51
|
-
const logger = new Logging_1.SampleRequestLogger(new Logging_1.Logger("logs"));
|
|
52
|
-
config.requestLogger = logger;
|
|
53
|
-
if (useLiveMic && !hasLiveGpApiCredentials) {
|
|
54
|
-
throw new Error("Set GP_API_APP_ID and GP_API_APP_KEY to run live UPA Story 1 tests.");
|
|
55
|
-
}
|
|
56
|
-
const gpApiConfig = new src_1.GpApiConfig();
|
|
57
|
-
gpApiConfig.appId = gpApiAppId ?? "UNIT_TEST_APP_ID";
|
|
58
|
-
gpApiConfig.appKey = gpApiAppKey ?? "UNIT_TEST_APP_KEY";
|
|
59
|
-
gpApiConfig.environment = src_1.Environment.Test;
|
|
60
|
-
gpApiConfig.channel = src_1.Channel.CardPresent;
|
|
61
|
-
gpApiConfig.country = "US";
|
|
62
|
-
gpApiConfig.deviceCurrency = "USD";
|
|
63
|
-
gpApiConfig.requestLogger = logger; // propagated to GpApiConnector via GpApiConfig.configureContainer()
|
|
64
|
-
if (useLiveMic) {
|
|
65
|
-
gpApiConfig.accessTokenInfo = new src_1.AccessTokenInfo();
|
|
66
|
-
}
|
|
67
|
-
else {
|
|
68
|
-
gpApiConfig.accessTokenInfo = {
|
|
69
|
-
transactionProcessingAccountName: "test",
|
|
70
|
-
accessToken: "UNIT_TEST_FAKE_TOKEN",
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
config.gatewayConfig = gpApiConfig;
|
|
74
|
-
return config;
|
|
75
|
-
}
|
|
76
|
-
// ===========================================================================
|
|
77
|
-
// endOfDay()
|
|
78
|
-
// References:
|
|
79
|
-
// UpaCreditTests.cs:666 – response != null, Status == "Success"
|
|
80
|
-
// UpaDebitTests.cs:51 – response != null
|
|
81
|
-
// UpaEbtTests.cs:131 – DeviceResponseText == "Success", DeviceResponseCode == "00"
|
|
82
|
-
// UpaMicTests.cs:504 – BatchId != null
|
|
83
|
-
// ===========================================================================
|
|
84
|
-
describeUpaStory1("UPA Story 1 – endOfDay()", () => {
|
|
85
|
-
let device;
|
|
86
|
-
beforeEach(() => {
|
|
87
|
-
device = DeviceService_1.DeviceService.create(buildConfig());
|
|
88
|
-
device.ecrId = "13";
|
|
89
|
-
});
|
|
90
|
-
/**
|
|
91
|
-
* Mirrors UpaCreditTests.cs:666 + UpaDebitTests.cs:51 + UpaEbtTests.cs:131 + UpaMicTests.cs:504
|
|
92
|
-
* Assert.IsNotNull(response);
|
|
93
|
-
* Assert.AreEqual("Success", response.Status);
|
|
94
|
-
* Assert.AreEqual("Success", response.DeviceResponseText);
|
|
95
|
-
* Assert.AreEqual("00", response.DeviceResponseCode);
|
|
96
|
-
* Assert.IsNotNull(response.BatchId);
|
|
97
|
-
*/
|
|
98
|
-
test("[UpaCreditTests][UpaDebitTests][UpaEbtTests][UpaMicTests] endOfDay() returns expected response", async () => {
|
|
99
|
-
if (useLiveMic) {
|
|
100
|
-
await device.sendStoreAndForward();
|
|
101
|
-
await settleDevice(3000);
|
|
102
|
-
}
|
|
103
|
-
const response = await device.endOfDay();
|
|
104
|
-
expect(response).not.toBeNull();
|
|
105
|
-
expect(response).toBeInstanceOf(UpaEODResponse_1.UpaEODResponse);
|
|
106
|
-
if (useLiveMic) {
|
|
107
|
-
expect(response.command).toBe("EODProcessing");
|
|
108
|
-
expect(response.status).toBeTruthy();
|
|
109
|
-
expect(response.deviceResponseCode).toBeTruthy();
|
|
110
|
-
expect(response.deviceResponseText).toBeTruthy();
|
|
111
|
-
if (response.status === "Success") {
|
|
112
|
-
expect(response.deviceResponseCode).toBe("00");
|
|
113
|
-
expect(response.deviceResponseText).toBe("Success");
|
|
114
|
-
expect(response.batchId).toBeDefined();
|
|
115
|
-
expect(response.batchId).not.toBeNull();
|
|
116
|
-
}
|
|
117
|
-
else {
|
|
118
|
-
expect(response.status).toBe("Failed");
|
|
119
|
-
}
|
|
120
|
-
return;
|
|
121
|
-
}
|
|
122
|
-
expect(response.status).toBe("Success");
|
|
123
|
-
expect(response.deviceResponseText).toBe("Success");
|
|
124
|
-
expect(response.deviceResponseCode).toBe("00");
|
|
125
|
-
expect(response.batchId).toBeDefined();
|
|
126
|
-
expect(response.batchId).not.toBeNull();
|
|
127
|
-
});
|
|
128
|
-
});
|
|
129
|
-
// ===========================================================================
|
|
130
|
-
// sendStoreAndForward()
|
|
131
|
-
// References:
|
|
132
|
-
// UpaAdminTests.cs:682 – response != null, Status == "Success", DeviceResponseText == "Success", DeviceResponseCode == "00"
|
|
133
|
-
// UpaMicTests.cs:337 – no assertion (only checks no ApiException thrown)
|
|
134
|
-
// ===========================================================================
|
|
135
|
-
describeUpaStory1("UPA Story 1 – sendStoreAndForward()", () => {
|
|
136
|
-
let device;
|
|
137
|
-
beforeEach(() => {
|
|
138
|
-
device = DeviceService_1.DeviceService.create(buildConfig());
|
|
139
|
-
device.ecrId = "13";
|
|
140
|
-
});
|
|
141
|
-
/**
|
|
142
|
-
* Mirrors UpaAdminTests.cs:682 + UpaMicTests.cs:337
|
|
143
|
-
* Assert.IsNotNull(response);
|
|
144
|
-
* Assert.AreEqual("Success", response.Status);
|
|
145
|
-
* Assert.AreEqual("Success", response.DeviceResponseText);
|
|
146
|
-
* Assert.AreEqual("00", response.DeviceResponseCode);
|
|
147
|
-
* No exception thrown (UpaMicTests.cs:337)
|
|
148
|
-
*/
|
|
149
|
-
test("[UpaAdminTests][UpaMicTests] sendStoreAndForward() returns expected response and does not throw", async () => {
|
|
150
|
-
const response = await device.sendStoreAndForward();
|
|
151
|
-
expect(response).not.toBeNull();
|
|
152
|
-
expect(response).toBeInstanceOf(UpaSAFResponse_1.UpaSAFResponse);
|
|
153
|
-
if (useLiveMic) {
|
|
154
|
-
expect(response.command).toBe("SendSAF");
|
|
155
|
-
expect(response.status).toBeTruthy();
|
|
156
|
-
expect(response.deviceResponseCode).toBeTruthy();
|
|
157
|
-
expect(response.deviceResponseText).toBeTruthy();
|
|
158
|
-
if (response.status === "Success") {
|
|
159
|
-
expect(response.deviceResponseCode).toBe("00");
|
|
160
|
-
expect(response.deviceResponseText).toBe("Success");
|
|
161
|
-
}
|
|
162
|
-
else {
|
|
163
|
-
expect(response.status).toBe("Failed");
|
|
164
|
-
}
|
|
165
|
-
return;
|
|
166
|
-
}
|
|
167
|
-
expect(response.status).toBe("Success");
|
|
168
|
-
expect(response.deviceResponseText).toBe("Success");
|
|
169
|
-
expect(response.deviceResponseCode).toBe("00");
|
|
170
|
-
});
|
|
171
|
-
});
|
|
172
|
-
// ===========================================================================
|
|
173
|
-
// getSignature() / PromptAndGetSignatureFile()
|
|
174
|
-
// References:
|
|
175
|
-
// UpaAdminTests.cs:130 – response != null, instanceof IDeviceResponse, DeviceResponseCode == "00", Status == "Success"
|
|
176
|
-
// UpaAdminTests.cs:693 – SignatureData != null
|
|
177
|
-
// UpaMicTests.cs:483 – SignatureData populated (with prompt2 + displayOption)
|
|
178
|
-
// ===========================================================================
|
|
179
|
-
describeUpaStory1("UPA Story 1 – getSignature()", () => {
|
|
180
|
-
let device;
|
|
181
|
-
beforeEach(() => {
|
|
182
|
-
device = DeviceService_1.DeviceService.create(buildConfig());
|
|
183
|
-
device.ecrId = "13";
|
|
184
|
-
});
|
|
185
|
-
/**
|
|
186
|
-
* Mirrors UpaAdminTests.cs:130 + UpaAdminTests.cs:693 – single prompt
|
|
187
|
-
* Assert.IsNotNull(response);
|
|
188
|
-
* Assert.IsInstanceOfType(response, typeof(IDeviceResponse));
|
|
189
|
-
* Assert.AreEqual("00", response.DeviceResponseCode);
|
|
190
|
-
* Assert.AreEqual("Success", response.Status);
|
|
191
|
-
* Assert.IsNotNull(response.SignatureData);
|
|
192
|
-
*/
|
|
193
|
-
test("[UpaAdminTests:130][UpaAdminTests:693] getSignature() returns expected response and SignatureData", async () => {
|
|
194
|
-
const response = await device.getSignature("Please sign");
|
|
195
|
-
expect(response).not.toBeNull();
|
|
196
|
-
expect(response).toBeInstanceOf(UpaSignatureResponse_1.UpaSignatureResponse);
|
|
197
|
-
expect(response.deviceResponseCode).toBe("00");
|
|
198
|
-
expect(response.status).toBe("Success");
|
|
199
|
-
expect(response.signatureData).not.toBeNull();
|
|
200
|
-
expect(response.signatureData).toBeInstanceOf(Buffer);
|
|
201
|
-
});
|
|
202
|
-
/**
|
|
203
|
-
* Mirrors UpaMicTests.cs:483 – with prompt2 + displayOption
|
|
204
|
-
* SignatureData saved to file (unit test: verify Buffer is populated)
|
|
205
|
-
*/
|
|
206
|
-
test("[UpaMicTests:483] getSignature() with prompt2 + displayOption returns populated SignatureData", async () => {
|
|
207
|
-
const response = await device.getSignature("Please sign", "and confirm", 1);
|
|
208
|
-
expect(response).not.toBeNull();
|
|
209
|
-
expect(response).toBeInstanceOf(UpaSignatureResponse_1.UpaSignatureResponse);
|
|
210
|
-
expect(response.signatureData).toBeInstanceOf(Buffer);
|
|
211
|
-
expect(response.signatureData.length).toBeGreaterThan(0);
|
|
212
|
-
});
|
|
213
|
-
});
|
|
214
|
-
// ===========================================================================
|
|
215
|
-
// ping()
|
|
216
|
-
// References:
|
|
217
|
-
// UpaAdminTests.cs:52 – response != null, instanceof IDeviceResponse, DeviceResponseCode == "00", Status == "Success"
|
|
218
|
-
// UpaMicTests.cs:42 – no assertion (only checks no ApiException thrown)
|
|
219
|
-
// ===========================================================================
|
|
220
|
-
describeUpaStory1("UPA Story 1 – ping()", () => {
|
|
221
|
-
let device;
|
|
222
|
-
beforeEach(() => {
|
|
223
|
-
device = DeviceService_1.DeviceService.create(buildConfig());
|
|
224
|
-
device.ecrId = "13";
|
|
225
|
-
});
|
|
226
|
-
/**
|
|
227
|
-
* Mirrors UpaAdminTests.cs:52 + UpaMicTests.cs:42 – Ping()
|
|
228
|
-
* Assert.IsNotNull(response);
|
|
229
|
-
* Assert.IsInstanceOfType(response, typeof(IDeviceResponse));
|
|
230
|
-
* Assert.AreEqual("00", response.DeviceResponseCode);
|
|
231
|
-
* Assert.AreEqual("Success", response.Status);
|
|
232
|
-
* Assert.AreEqual("Success", response.DeviceResponseText);
|
|
233
|
-
* No exception thrown (UpaMicTests.cs:42)
|
|
234
|
-
*/
|
|
235
|
-
test("[UpaAdminTests:52][UpaMicTests:42] ping() returns expected response values and does not throw", async () => {
|
|
236
|
-
const response = await device.ping();
|
|
237
|
-
expect(response).not.toBeNull();
|
|
238
|
-
expect(response).toBeInstanceOf(TransactionResponse_1.TransactionResponse);
|
|
239
|
-
if (useLiveMic) {
|
|
240
|
-
expect(response.responseText).toBe("SUCCESS");
|
|
241
|
-
expect(["INITIATED", "COMPLETE"]).toContain(response.deviceResponseText);
|
|
242
|
-
expect(response.transactionId).toBeTruthy();
|
|
243
|
-
return;
|
|
244
|
-
}
|
|
245
|
-
expect(response.deviceResponseCode).toBe("00");
|
|
246
|
-
expect(response.status).toBe("Success");
|
|
247
|
-
expect(response.deviceResponseText).toBe("Success");
|
|
248
|
-
});
|
|
249
|
-
});
|
|
250
|
-
//# sourceMappingURL=UpaStory1Methods.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UpaStory1Methods.test.js","sourceRoot":"","sources":["../../../../../test/Unit/Terminals/UPA/UpaStory1Methods.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|