globalpayments-api 3.11.2 → 3.11.3

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.
Files changed (57) hide show
  1. package/CHANGELOG.md +6 -1
  2. package/lib/src/Entities/Errors.d.ts +7 -1
  3. package/lib/src/Entities/Errors.js +30 -1
  4. package/lib/src/Entities/Errors.js.map +1 -1
  5. package/lib/src/Entities/TransactionSummary.d.ts +5 -0
  6. package/lib/src/Entities/TransactionSummary.js +5 -0
  7. package/lib/src/Entities/TransactionSummary.js.map +1 -1
  8. package/lib/src/Terminals/Abstractions/IDeviceResponse.d.ts +46 -0
  9. package/lib/src/Terminals/Builders/TerminalAuthBuilder.d.ts +2 -0
  10. package/lib/src/Terminals/Builders/TerminalAuthBuilder.js +5 -2
  11. package/lib/src/Terminals/Builders/TerminalAuthBuilder.js.map +1 -1
  12. package/lib/src/Terminals/UPA/Reponses/BatchReportResponse.d.ts +9 -1
  13. package/lib/src/Terminals/UPA/Reponses/BatchReportResponse.js +22 -2
  14. package/lib/src/Terminals/UPA/Reponses/BatchReportResponse.js.map +1 -1
  15. package/lib/src/Terminals/UPA/Reponses/SafReportResponse.js +9 -0
  16. package/lib/src/Terminals/UPA/Reponses/SafReportResponse.js.map +1 -1
  17. package/lib/src/Terminals/UPA/Reponses/TransactionResponse.d.ts +1 -0
  18. package/lib/src/Terminals/UPA/Reponses/TransactionResponse.js +24 -0
  19. package/lib/src/Terminals/UPA/Reponses/TransactionResponse.js.map +1 -1
  20. package/lib/src/Terminals/UPA/Reponses/UpaEODResponse.d.ts +21 -1
  21. package/lib/src/Terminals/UPA/Reponses/UpaEODResponse.js +29 -0
  22. package/lib/src/Terminals/UPA/Reponses/UpaEODResponse.js.map +1 -1
  23. package/lib/src/Terminals/UPA/Reponses/UpaSAFResponse.js +5 -7
  24. package/lib/src/Terminals/UPA/Reponses/UpaSAFResponse.js.map +1 -1
  25. package/lib/src/Terminals/UPA/UpaController.js +12 -0
  26. package/lib/src/Terminals/UPA/UpaController.js.map +1 -1
  27. package/lib/test/Integration/Terminals/UPA/UpaTransactionResponseLive.test.d.ts +1 -0
  28. package/lib/test/Integration/Terminals/UPA/UpaTransactionResponseLive.test.js +378 -0
  29. package/lib/test/Integration/Terminals/UPA/UpaTransactionResponseLive.test.js.map +1 -0
  30. package/lib/test/Unit/Terminals/UPA/Responses/BatchList.test.d.ts +1 -0
  31. package/lib/test/Unit/Terminals/UPA/Responses/BatchList.test.js +63 -0
  32. package/lib/test/Unit/Terminals/UPA/Responses/BatchList.test.js.map +1 -0
  33. package/lib/test/Unit/Terminals/UPA/Responses/BatchReportResponse.test.d.ts +1 -0
  34. package/lib/test/Unit/Terminals/UPA/Responses/BatchReportResponse.test.js +145 -0
  35. package/lib/test/Unit/Terminals/UPA/Responses/BatchReportResponse.test.js.map +1 -0
  36. package/lib/test/Unit/Terminals/UPA/Responses/OpenTabDetailsResponse.test.d.ts +1 -0
  37. package/lib/test/Unit/Terminals/UPA/Responses/OpenTabDetailsResponse.test.js +70 -0
  38. package/lib/test/Unit/Terminals/UPA/Responses/OpenTabDetailsResponse.test.js.map +1 -0
  39. package/lib/test/Unit/Terminals/UPA/Responses/SafReportResponse.test.d.ts +1 -0
  40. package/lib/test/Unit/Terminals/UPA/Responses/SafReportResponse.test.js +112 -0
  41. package/lib/test/Unit/Terminals/UPA/Responses/SafReportResponse.test.js.map +1 -0
  42. package/lib/test/Unit/Terminals/UPA/Responses/UpaEODResponse.test.d.ts +1 -0
  43. package/lib/test/Unit/Terminals/UPA/Responses/UpaEODResponse.test.js +59 -0
  44. package/lib/test/Unit/Terminals/UPA/Responses/UpaEODResponse.test.js.map +1 -0
  45. package/lib/test/Unit/Terminals/UPA/Responses/UpaSAFResponse.test.d.ts +1 -0
  46. package/lib/test/Unit/Terminals/UPA/Responses/UpaSAFResponse.test.js +95 -0
  47. package/lib/test/Unit/Terminals/UPA/Responses/UpaSAFResponse.test.js.map +1 -0
  48. package/lib/test/Unit/Terminals/UPA/Responses/UpaTransactionResponse.test.d.ts +1 -0
  49. package/lib/test/Unit/Terminals/UPA/Responses/UpaTransactionResponse.test.js +1624 -0
  50. package/lib/test/Unit/Terminals/UPA/Responses/UpaTransactionResponse.test.js.map +1 -0
  51. package/lib/test/Unit/Terminals/UPA/UpaCredit.test.js +47 -29
  52. package/lib/test/Unit/Terminals/UPA/UpaCredit.test.js.map +1 -1
  53. package/lib/test/Unit/Terminals/UPA/UpaErrorResponse.test.d.ts +21 -0
  54. package/lib/test/Unit/Terminals/UPA/UpaErrorResponse.test.js +533 -0
  55. package/lib/test/Unit/Terminals/UPA/UpaErrorResponse.test.js.map +1 -0
  56. package/lib/test/Unit/Terminals/UPA/UpaHelpertest.js +1 -1
  57. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UpaTransactionResponseLive.test.js","sourceRoot":"","sources":["../../../../../test/Integration/Terminals/UPA/UpaTransactionResponseLive.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const BatchList_1 = require("../../../../../src/Terminals/UPA/Reponses/BatchList");
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 – BatchList (all fields, live MITC)", () => {
18
+ let device;
19
+ beforeEach(() => {
20
+ device = (0, UpaHelpertest_1.createTestDevice)();
21
+ });
22
+ test("findBatches() populates every IDeviceResponse + top-level field", async () => {
23
+ let response = await (0, UpaHelpertest_1.findLiveBatches)(device);
24
+ if (response.batches.length === 0) {
25
+ const sale = await (0, UpaHelpertest_1.createLiveSale)(device);
26
+ (0, UpaHelpertest_1.expectLiveSuccess)(sale, "Sale");
27
+ await settleDevice(5000);
28
+ response = await (0, UpaHelpertest_1.findLiveBatches)(device);
29
+ }
30
+ expect(response).toBeInstanceOf(BatchList_1.BatchList);
31
+ expect(response.command).toBe("AvailableBatches");
32
+ expect(response.status).toBe("Success");
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.ecrId).toBe("string");
37
+ expect(typeof response.deviceSerialNumber).toBe("string");
38
+ expect(Array.isArray(response.batches)).toBe(true);
39
+ });
40
+ test("findBatches() batches are numeric and returned DESC per §12.4.12.5", async () => {
41
+ let response = await (0, UpaHelpertest_1.findLiveBatches)(device);
42
+ if (response.batches.length === 0) {
43
+ const sale = await (0, UpaHelpertest_1.createLiveSale)(device);
44
+ (0, UpaHelpertest_1.expectLiveSuccess)(sale, "Sale");
45
+ await settleDevice(5000);
46
+ response = await (0, UpaHelpertest_1.findLiveBatches)(device);
47
+ }
48
+ if (response.status !== "Success") {
49
+ expect(["BATCH002", "APP011"]).toContain(response.deviceResponseCode);
50
+ console.warn(`findBatches() returned ${response.deviceResponseCode}; DESC assertions skipped.`);
51
+ return;
52
+ }
53
+ for (const batchId of response.batches) {
54
+ expect(typeof batchId).toBe("number");
55
+ expect(Number.isFinite(batchId)).toBe(true);
56
+ }
57
+ if (response.batches.length >= 2) {
58
+ const sortedDesc = [...response.batches].sort((a, b) => b - a);
59
+ expect(response.batches).toEqual(sortedDesc);
60
+ }
61
+ });
62
+ });
63
+ //# sourceMappingURL=BatchList.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BatchList.test.js","sourceRoot":"","sources":["../../../../../../test/Unit/Terminals/UPA/Responses/BatchList.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,145 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const BatchReportResponse_1 = require("../../../../../src/Terminals/UPA/Reponses/BatchReportResponse");
4
+ const UpaSearchCriteria_1 = require("../../../../../src/Terminals/UPA/Entities/UpaSearchCriteria");
5
+ const UpaHelpertest_1 = require("../UpaHelpertest");
6
+ jest.setTimeout(240000);
7
+ function sleep(delayMs) {
8
+ return new Promise((resolve) => setTimeout(resolve, delayMs));
9
+ }
10
+ async function settleDevice(delayMs = 8000) {
11
+ if (UpaHelpertest_1.useLiveMic) {
12
+ await sleep(delayMs);
13
+ }
14
+ }
15
+ afterEach(async () => {
16
+ await settleDevice();
17
+ });
18
+ (0, UpaHelpertest_1.describeUpaLive)("UPA Response – BatchReportResponse (all fields, live MITC)", () => {
19
+ let device;
20
+ beforeEach(() => {
21
+ device = (0, UpaHelpertest_1.createTestDevice)();
22
+ });
23
+ async function acquireBatchId() {
24
+ let batches = await (0, UpaHelpertest_1.findLiveBatches)(device);
25
+ if (batches.batches.length === 0) {
26
+ const sale = await (0, UpaHelpertest_1.createLiveSale)(device);
27
+ (0, UpaHelpertest_1.expectLiveSuccess)(sale, "Sale");
28
+ await settleDevice(5000);
29
+ batches = await (0, UpaHelpertest_1.findLiveBatches)(device);
30
+ }
31
+ return batches.batches[0]?.toString();
32
+ }
33
+ test("getBatchReport() populates every IDeviceResponse + top-level field", async () => {
34
+ const batchId = await acquireBatchId();
35
+ if (!batchId) {
36
+ console.warn("No batches available; skipping getBatchReport() shape.");
37
+ return;
38
+ }
39
+ const response = (await device
40
+ .getBatchReport()
41
+ .where(UpaSearchCriteria_1.UpaSearchCriteria.Batch, batchId)
42
+ .and(UpaSearchCriteria_1.UpaSearchCriteria.EcrId, 13)
43
+ .execute());
44
+ expect(response).toBeInstanceOf(BatchReportResponse_1.BatchReportResponse);
45
+ expect(response.command).toBe("GetBatchReport");
46
+ expect(response.status).toBe("Success");
47
+ expect(response.deviceResponseCode).toBe("SUCCESS");
48
+ expect(typeof response.deviceResponseText).toBe("string");
49
+ expect(typeof response.referenceNumber).toBe("string");
50
+ expect(typeof response.version).toBe("string");
51
+ expect(typeof response.multipleMessage).toBe("string");
52
+ expect(typeof response.merchantName).toBe("string");
53
+ expect(typeof response.deviceSerialNumber).toBe("string");
54
+ });
55
+ test("getBatchReport() populates BatchRecordResponse + BatchTransactionResponse per card brand", async () => {
56
+ const batchId = await acquireBatchId();
57
+ if (!batchId) {
58
+ return;
59
+ }
60
+ const response = (await device
61
+ .getBatchReport()
62
+ .where(UpaSearchCriteria_1.UpaSearchCriteria.Batch, batchId)
63
+ .and(UpaSearchCriteria_1.UpaSearchCriteria.EcrId, 13)
64
+ .execute());
65
+ if (response.status !== "Success") {
66
+ console.warn(`getBatchReport() returned ${response.deviceResponseCode}; skipping batchRecord assertions.`);
67
+ return;
68
+ }
69
+ expect(response.batchRecord).toBeDefined();
70
+ const record = response.batchRecord;
71
+ expect(Number(record.batchId)).toBe(Number(batchId));
72
+ expect(record.batchSeqNbr === undefined ||
73
+ typeof record.batchSeqNbr === "number").toBe(true);
74
+ expect(typeof record.batchStatus).toBe("string");
75
+ expect(typeof record.openUtcDateTime).toBe("string");
76
+ expect(typeof record.closeUtcDateTime).toBe("string");
77
+ expect(typeof record.openTnxId).toBe("number");
78
+ expect(record.totalAmount === undefined ||
79
+ typeof record.totalAmount === "number").toBe(true);
80
+ expect(record.totalCnt === undefined || typeof record.totalCnt === "number").toBe(true);
81
+ expect(record.creditCnt === undefined || typeof record.creditCnt === "number").toBe(true);
82
+ expect(record.creditAmt === undefined || typeof record.creditAmt === "number").toBe(true);
83
+ expect(record.debitCnt === undefined || typeof record.debitCnt === "number").toBe(true);
84
+ expect(record.debitAmt === undefined || typeof record.debitAmt === "number").toBe(true);
85
+ expect(record.saleCnt === undefined || typeof record.saleCnt === "number").toBe(true);
86
+ expect(record.saleAmt === undefined || typeof record.saleAmt === "number").toBe(true);
87
+ expect(record.returnCnt === undefined || typeof record.returnCnt === "number").toBe(true);
88
+ expect(record.returnAmt === undefined || typeof record.returnAmt === "number").toBe(true);
89
+ expect(record.totalGratuityAmt === undefined ||
90
+ typeof record.totalGratuityAmt === "number").toBe(true);
91
+ expect(Array.isArray(record.batchTransactions)).toBe(true);
92
+ for (const brand of record.batchTransactions) {
93
+ expect(typeof brand.cardType).toBe("string");
94
+ // All 12 optional numeric fields must be either undefined or number.
95
+ [
96
+ "totalAmount",
97
+ "totalCnt",
98
+ "creditCnt",
99
+ "creditAmt",
100
+ "debitCnt",
101
+ "debitAmt",
102
+ "saleCnt",
103
+ "saleAmt",
104
+ "returnCnt",
105
+ "returnAmt",
106
+ "totalGratuityAmt",
107
+ ].forEach((key) => {
108
+ const value = brand[key];
109
+ expect(value === undefined || typeof value === "number").toBe(true);
110
+ });
111
+ }
112
+ });
113
+ test("getBatchDetails() populates transactionDetails per ITerminalReportTransaction", async () => {
114
+ const batchId = await acquireBatchId();
115
+ if (!batchId) {
116
+ return;
117
+ }
118
+ const response = (await device.getBatchDetails(batchId));
119
+ expect(response).toBeInstanceOf(BatchReportResponse_1.BatchReportResponse);
120
+ expect(response.command).toBe("GetBatchDetails");
121
+ if (response.status !== "Success") {
122
+ console.warn(`getBatchDetails() returned ${response.deviceResponseCode}; skipping detail assertions.`);
123
+ return;
124
+ }
125
+ expect(response.batchRecord).toBeDefined();
126
+ expect(Array.isArray(response.batchRecord.transactionDetails)).toBe(true);
127
+ const first = response.batchRecord.transactionDetails[0];
128
+ if (!first) {
129
+ return;
130
+ }
131
+ // ITerminalReportTransaction row shape.
132
+ expect(first.transactionDate).toBeInstanceOf(Date);
133
+ expect(first.authCode === undefined || typeof first.authCode === "string").toBe(true);
134
+ expect(first.cardType === undefined || typeof first.cardType === "string").toBe(true);
135
+ expect(first.maskedCardNumber === undefined ||
136
+ typeof first.maskedCardNumber === "string").toBe(true);
137
+ expect(first.referenceNumber === undefined ||
138
+ typeof first.referenceNumber === "string").toBe(true);
139
+ expect(first.transactionStatus === undefined ||
140
+ typeof first.transactionStatus === "string").toBe(true);
141
+ expect(first.transactionType === undefined ||
142
+ typeof first.transactionType === "string").toBe(true);
143
+ });
144
+ });
145
+ //# sourceMappingURL=BatchReportResponse.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BatchReportResponse.test.js","sourceRoot":"","sources":["../../../../../../test/Unit/Terminals/UPA/Responses/BatchReportResponse.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const OpenTabDetailsResponse_1 = require("../../../../../src/Terminals/UPA/Reponses/OpenTabDetailsResponse");
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 – OpenTabDetailsResponse (all fields, live MITC)", () => {
18
+ let device;
19
+ beforeEach(() => {
20
+ device = (0, UpaHelpertest_1.createTestDevice)();
21
+ });
22
+ test("getOpenTabDetails() populates every IDeviceResponse + top-level field", async () => {
23
+ const response = (await device
24
+ .getOpenTabDetails()
25
+ .execute());
26
+ expect(response).toBeInstanceOf(OpenTabDetailsResponse_1.OpenTabDetailsResponse);
27
+ expect(response.command).toBe("GetOpenTabDetails");
28
+ expect(typeof response.status).toBe("string");
29
+ expect(response.deviceResponseCode).toBe("SUCCESS");
30
+ expect(typeof response.deviceResponseText).toBe("string");
31
+ expect(typeof response.referenceNumber).toBe("string");
32
+ expect(typeof response.version).toBe("string");
33
+ expect(typeof response.multipleMessage).toBe("string");
34
+ expect(typeof response.merchantName).toBe("string");
35
+ expect(typeof response.ecrId).toBe("string");
36
+ expect(typeof response.deviceSerialNumber).toBe("string");
37
+ expect(Array.isArray(response.openTabs)).toBe(true);
38
+ });
39
+ test("getOpenTabDetails() OpenTab records conform to declared shape", async () => {
40
+ const response = (await device
41
+ .getOpenTabDetails()
42
+ .execute());
43
+ if (response.status !== "Success") {
44
+ // OPENTAB001 = NO OPEN TAB TRANSACTIONS — legitimate for a clean terminal.
45
+ expect(["OPENTAB001", "APP011"]).toContain(response.deviceResponseCode);
46
+ console.warn(`getOpenTabDetails() returned ${response.deviceResponseCode}: no open tabs. Row assertions skipped.`);
47
+ return;
48
+ }
49
+ expect(response.deviceResponseCode).toBe("SUCCESS");
50
+ for (const tab of response.openTabs) {
51
+ expect(tab).toBeDefined();
52
+ expect(tab.authorizedAmount === undefined ||
53
+ typeof tab.authorizedAmount === "number").toBe(true);
54
+ expect(typeof tab.cardType).toBe("string");
55
+ expect(typeof tab.maskedPan).toBe("string");
56
+ expect(typeof tab.transactionId).toBe("string");
57
+ expect(typeof tab.clerkId).toBe("string");
58
+ }
59
+ });
60
+ test("OpenTab class is exported and constructible", () => {
61
+ // Regression: OpenTab used to be declared but not surfaced via index.
62
+ const tab = new OpenTabDetailsResponse_1.OpenTab();
63
+ expect(tab).toBeInstanceOf(OpenTabDetailsResponse_1.OpenTab);
64
+ expect(tab.cardType).toBe("");
65
+ expect(tab.maskedPan).toBe("");
66
+ expect(tab.transactionId).toBe("");
67
+ expect(tab.clerkId).toBe("");
68
+ });
69
+ });
70
+ //# sourceMappingURL=OpenTabDetailsResponse.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenTabDetailsResponse.test.js","sourceRoot":"","sources":["../../../../../../test/Unit/Terminals/UPA/Responses/OpenTabDetailsResponse.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
4
+ * Live-device unit tests for SafReportResponse (ITerminalReport contract).
5
+ *
6
+ * Exercises getSAFReport() over live MITC and asserts every mapped field
7
+ * on SafReportResponse plus SafReport / SafSummaryResponse / per-record
8
+ * ITerminalReportTransaction shape per UPA §12.4.16 (GetSAFReport).
9
+ *
10
+ * No mocks — this test only runs against a real device+gateway.
11
+ */
12
+ const src_1 = require("../../../../../src");
13
+ const Enums_1 = require("../../../../../src/Terminals/Enums");
14
+ const SafReportResponse_1 = require("../../../../../src/Terminals/UPA/Reponses/SafReportResponse");
15
+ const UpaSearchCriteria_1 = require("../../../../../src/Terminals/UPA/Entities/UpaSearchCriteria");
16
+ const TerminalReportBuilder_1 = require("../../../../../src/Terminals/Builders/TerminalReportBuilder");
17
+ const UpaHelpertest_1 = require("../UpaHelpertest");
18
+ jest.setTimeout(240000);
19
+ function sleep(delayMs) {
20
+ return new Promise((resolve) => setTimeout(resolve, delayMs));
21
+ }
22
+ async function settleDevice(delayMs = 8000) {
23
+ if (UpaHelpertest_1.useLiveMic) {
24
+ await sleep(delayMs);
25
+ }
26
+ }
27
+ afterEach(async () => {
28
+ await settleDevice();
29
+ });
30
+ (0, UpaHelpertest_1.describeUpaLive)("UPA Response – SafReportResponse (all fields, live MITC)", () => {
31
+ let device;
32
+ beforeEach(() => {
33
+ device = (0, UpaHelpertest_1.createTestDevice)();
34
+ });
35
+ test("getSAFReport() builder is TerminalReportBuilder<SafReportResponse>(GetSAFReport)", () => {
36
+ const builder = device.getSAFReport();
37
+ expect(builder).toBeInstanceOf(TerminalReportBuilder_1.TerminalReportBuilder);
38
+ expect(builder.reportType).toBe(Enums_1.TerminalReportType.GetSAFReport);
39
+ });
40
+ test("getSAFReport() populates every IDeviceResponse + ITerminalReport field", async () => {
41
+ const response = (await device
42
+ .getSAFReport()
43
+ .where(UpaSearchCriteria_1.UpaSearchCriteria.EcrId, 13)
44
+ .and(UpaSearchCriteria_1.UpaSearchCriteria.ReportOutput, Enums_1.ReportOutput.ReturnData)
45
+ .execute());
46
+ expect(response).toBeInstanceOf(SafReportResponse_1.SafReportResponse);
47
+ expect(response.command).toBe("GetSAFReport");
48
+ expect(typeof response.status).toBe("string");
49
+ expect(response.deviceResponseCode).toBe("SUCCESS");
50
+ expect(typeof response.deviceResponseText).toBe("string");
51
+ expect(typeof response.referenceNumber).toBe("string");
52
+ expect(typeof response.version).toBe("string");
53
+ expect(typeof response.ecrId).toBe("string");
54
+ expect(typeof response.requestId).toBe("string");
55
+ expect(typeof response.multipleMessage).toBe("string");
56
+ expect(typeof response.reportType).toBe("string");
57
+ expect(typeof response.reportOutput).toBe("string");
58
+ expect(typeof response.deviceSerialNumber).toBe("string");
59
+ });
60
+ test("getSAFReport() populates reportResult buckets when SAF records exist", async () => {
61
+ const response = (await device
62
+ .getSAFReport()
63
+ .where(UpaSearchCriteria_1.UpaSearchCriteria.EcrId, 13)
64
+ .and(UpaSearchCriteria_1.UpaSearchCriteria.ReportOutput, Enums_1.ReportOutput.ReturnData)
65
+ .execute());
66
+ if (response.status !== "Success") {
67
+ expect(["SAF001", "APP011"]).toContain(response.deviceResponseCode);
68
+ console.warn(`getSAFReport() returned ${response.deviceResponseCode}: no SAF records. Bucket assertions skipped.`);
69
+ return;
70
+ }
71
+ expect(response.deviceResponseCode).toBe("SUCCESS");
72
+ expect(response.reportResult).toBeDefined();
73
+ expect(response.reportResult.totalCount).toBeGreaterThanOrEqual(0);
74
+ expect(response.reportResult.totalAmount).toBeGreaterThanOrEqual(0);
75
+ const allBuckets = [
76
+ response.reportResult.approved,
77
+ response.reportResult.pending,
78
+ response.reportResult.declined,
79
+ ];
80
+ for (const bucket of allBuckets) {
81
+ if (!bucket) {
82
+ continue;
83
+ }
84
+ for (const summary of Object.values(bucket)) {
85
+ expect([
86
+ src_1.SummaryType.Approved,
87
+ src_1.SummaryType.Pending,
88
+ src_1.SummaryType.Declined,
89
+ src_1.SummaryType.Unknown,
90
+ ].includes(summary.summaryType)).toBe(true);
91
+ expect(typeof summary.count).toBe("number");
92
+ expect(typeof summary.totalAmount).toBe("number");
93
+ expect(Array.isArray(summary.transactions)).toBe(true);
94
+ // ITerminalReportTransaction row-shape assertions on the first
95
+ // record (if any) — non-null fields per §12.4.16.
96
+ const first = summary.transactions[0];
97
+ if (first) {
98
+ expect(typeof first.transactionType).toBe("string");
99
+ expect(first.transactionId === undefined ||
100
+ typeof first.transactionId === "string").toBe(true);
101
+ expect(first.referenceNumber === undefined ||
102
+ typeof first.referenceNumber === "string").toBe(true);
103
+ expect(first.cardType === undefined ||
104
+ typeof first.cardType === "string").toBe(true);
105
+ expect(first.maskedCardNumber === undefined ||
106
+ typeof first.maskedCardNumber === "string").toBe(true);
107
+ }
108
+ }
109
+ }
110
+ });
111
+ });
112
+ //# sourceMappingURL=SafReportResponse.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SafReportResponse.test.js","sourceRoot":"","sources":["../../../../../../test/Unit/Terminals/UPA/Responses/SafReportResponse.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
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(typeof response.deviceResponseText).toBe("string");
33
+ expect(typeof response.referenceNumber).toBe("string");
34
+ expect(typeof response.version).toBe("string");
35
+ expect(typeof response.toString()).toBe("string");
36
+ });
37
+ test.only("endOfDay() populates host block + ecrId on Success", async () => {
38
+ const sale = await (0, UpaHelpertest_1.createLiveSale)(device);
39
+ (0, UpaHelpertest_1.expectLiveSuccess)(sale, "Sale");
40
+ const response = (await device.endOfDay());
41
+ if (response.status !== "Success") {
42
+ console.warn(`endOfDay() returned ${response.deviceResponseCode}.`);
43
+ expect(response).toBeInstanceOf(UpaEODResponse_1.UpaEODResponse);
44
+ expect(response.command).toBe("EODProcessing");
45
+ }
46
+ else {
47
+ expect(response.deviceResponseCode).toBe("00");
48
+ expect(response.batchId).toBeDefined();
49
+ expect(Number.isFinite(Number(response.batchId))).toBe(true);
50
+ expect(response.gatewayResponseCode).toBeDefined();
51
+ expect(typeof response.gatewayResponseMessage).toBe("string");
52
+ expect(typeof response.respDateTime).toBe("string");
53
+ expect(response.respDateTime.length).toBeGreaterThan(0);
54
+ // ecrId is set by the SDK from the request (we default to "13").
55
+ expect(response.ecrId).toBe("13");
56
+ }
57
+ });
58
+ });
59
+ //# sourceMappingURL=UpaEODResponse.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UpaEODResponse.test.js","sourceRoot":"","sources":["../../../../../../test/Unit/Terminals/UPA/Responses/UpaEODResponse.test.ts"],"names":[],"mappings":"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"}