globalpayments-api 3.10.13 → 3.10.15

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 (131) hide show
  1. package/CHANGELOG.md +11 -1
  2. package/lib/src/Builders/RequestBuilder/GpApi/GpApiAuthorizationRequestBuilder.js +21 -0
  3. package/lib/src/Builders/RequestBuilder/GpApi/GpApiAuthorizationRequestBuilder.js.map +1 -1
  4. package/lib/src/Builders/RequestBuilder/GpApi/GpApiSessionInfo.d.ts +11 -2
  5. package/lib/src/Builders/RequestBuilder/GpApi/GpApiSessionInfo.js +44 -5
  6. package/lib/src/Builders/RequestBuilder/GpApi/GpApiSessionInfo.js.map +1 -1
  7. package/lib/src/Entities/GpApi/PorticoTokenConfig.d.ts +25 -0
  8. package/lib/src/Entities/GpApi/PorticoTokenConfig.js +30 -0
  9. package/lib/src/Entities/GpApi/PorticoTokenConfig.js.map +1 -0
  10. package/lib/src/Entities/GpApi/index.d.ts +1 -0
  11. package/lib/src/Entities/GpApi/index.js +1 -0
  12. package/lib/src/Entities/GpApi/index.js.map +1 -1
  13. package/lib/src/Entities/Transaction.d.ts +2 -0
  14. package/lib/src/Entities/Transaction.js +2 -0
  15. package/lib/src/Entities/Transaction.js.map +1 -1
  16. package/lib/src/Entities/TransactionSummary.d.ts +1 -0
  17. package/lib/src/Entities/TransactionSummary.js +1 -0
  18. package/lib/src/Entities/TransactionSummary.js.map +1 -1
  19. package/lib/src/Entities/UPA/ExtraChargeType.d.ts +8 -0
  20. package/lib/src/Entities/UPA/ExtraChargeType.js +13 -0
  21. package/lib/src/Entities/UPA/ExtraChargeType.js.map +1 -0
  22. package/lib/src/Entities/UPA/Lodging.d.ts +11 -0
  23. package/lib/src/Entities/UPA/Lodging.js +15 -0
  24. package/lib/src/Entities/UPA/Lodging.js.map +1 -0
  25. package/lib/src/Entities/UPA/POSData.d.ts +6 -0
  26. package/lib/src/Entities/UPA/POSData.js +11 -0
  27. package/lib/src/Entities/UPA/POSData.js.map +1 -0
  28. package/lib/src/Gateways/GpApiConnector.d.ts +0 -6
  29. package/lib/src/Gateways/GpApiConnector.js +22 -43
  30. package/lib/src/Gateways/GpApiConnector.js.map +1 -1
  31. package/lib/src/Gateways/PorticoConnector.js +4 -6
  32. package/lib/src/Gateways/PorticoConnector.js.map +1 -1
  33. package/lib/src/Mapping/GpApiMapping.js +7 -0
  34. package/lib/src/Mapping/GpApiMapping.js.map +1 -1
  35. package/lib/src/ServiceConfigs/Gateways/GpApiConfig.d.ts +6 -0
  36. package/lib/src/ServiceConfigs/Gateways/GpApiConfig.js +25 -2
  37. package/lib/src/ServiceConfigs/Gateways/GpApiConfig.js.map +1 -1
  38. package/lib/src/Services/GpApiServices.js +4 -1
  39. package/lib/src/Services/GpApiServices.js.map +1 -1
  40. package/lib/src/Terminals/Builders/TerminalAuthBuilder.d.ts +1 -1
  41. package/lib/src/Terminals/Builders/TerminalAuthBuilder.js +11 -18
  42. package/lib/src/Terminals/Builders/TerminalAuthBuilder.js.map +1 -1
  43. package/lib/src/Terminals/Builders/TerminalManageBuilder.d.ts +1 -0
  44. package/lib/src/Terminals/Builders/TerminalManageBuilder.js +4 -0
  45. package/lib/src/Terminals/Builders/TerminalManageBuilder.js.map +1 -1
  46. package/lib/src/Terminals/Builders/TerminalReportBuilder.d.ts +15 -0
  47. package/lib/src/Terminals/Builders/TerminalReportBuilder.js +49 -0
  48. package/lib/src/Terminals/Builders/TerminalReportBuilder.js.map +1 -0
  49. package/lib/src/Terminals/UPA/Entities/UpaModels.d.ts +62 -0
  50. package/lib/src/Terminals/UPA/Entities/UpaModels.js +28 -0
  51. package/lib/src/Terminals/UPA/Entities/UpaModels.js.map +1 -0
  52. package/lib/src/Terminals/UPA/Entities/UpaSearchCriteria.d.ts +5 -0
  53. package/lib/src/Terminals/UPA/Entities/UpaSearchCriteria.js +10 -0
  54. package/lib/src/Terminals/UPA/Entities/UpaSearchCriteria.js.map +1 -0
  55. package/lib/src/Terminals/UPA/Reponses/BatchList.d.ts +16 -0
  56. package/lib/src/Terminals/UPA/Reponses/BatchList.js +82 -0
  57. package/lib/src/Terminals/UPA/Reponses/BatchList.js.map +1 -0
  58. package/lib/src/Terminals/UPA/Reponses/BatchReportResponse.d.ts +55 -0
  59. package/lib/src/Terminals/UPA/Reponses/BatchReportResponse.js +213 -0
  60. package/lib/src/Terminals/UPA/Reponses/BatchReportResponse.js.map +1 -0
  61. package/lib/src/Terminals/UPA/Reponses/OpenTabDetailsResponse.d.ts +25 -0
  62. package/lib/src/Terminals/UPA/Reponses/OpenTabDetailsResponse.js +109 -0
  63. package/lib/src/Terminals/UPA/Reponses/OpenTabDetailsResponse.js.map +1 -0
  64. package/lib/src/Terminals/UPA/Reponses/SafReportResponse.d.ts +36 -0
  65. package/lib/src/Terminals/UPA/Reponses/SafReportResponse.js +181 -0
  66. package/lib/src/Terminals/UPA/Reponses/SafReportResponse.js.map +1 -0
  67. package/lib/src/Terminals/UPA/Reponses/TransactionResponse.js +9 -2
  68. package/lib/src/Terminals/UPA/Reponses/TransactionResponse.js.map +1 -1
  69. package/lib/src/Terminals/UPA/Reponses/UpaEODResponse.d.ts +21 -0
  70. package/lib/src/Terminals/UPA/Reponses/UpaEODResponse.js +106 -0
  71. package/lib/src/Terminals/UPA/Reponses/UpaEODResponse.js.map +1 -0
  72. package/lib/src/Terminals/UPA/Reponses/UpaGiftCardResponse.d.ts +41 -0
  73. package/lib/src/Terminals/UPA/Reponses/UpaGiftCardResponse.js +93 -0
  74. package/lib/src/Terminals/UPA/Reponses/UpaGiftCardResponse.js.map +1 -0
  75. package/lib/src/Terminals/UPA/Reponses/UpaSAFResponse.d.ts +35 -0
  76. package/lib/src/Terminals/UPA/Reponses/UpaSAFResponse.js +194 -0
  77. package/lib/src/Terminals/UPA/Reponses/UpaSAFResponse.js.map +1 -0
  78. package/lib/src/Terminals/UPA/Reponses/UpaSignatureResponse.d.ts +18 -0
  79. package/lib/src/Terminals/UPA/Reponses/UpaSignatureResponse.js +94 -0
  80. package/lib/src/Terminals/UPA/Reponses/UpaSignatureResponse.js.map +1 -0
  81. package/lib/src/Terminals/UPA/UpaController.js +4 -1
  82. package/lib/src/Terminals/UPA/UpaController.js.map +1 -1
  83. package/lib/src/Utils/SdkVersion.d.ts +1 -0
  84. package/lib/src/Utils/SdkVersion.js +48 -0
  85. package/lib/src/Utils/SdkVersion.js.map +1 -0
  86. package/lib/src/Utils/index.d.ts +1 -0
  87. package/lib/src/Utils/index.js +1 -0
  88. package/lib/src/Utils/index.js.map +1 -1
  89. package/lib/test/Integration/Gateways/CI/gpapi/GpApiTransactionsTests.test.js +69 -0
  90. package/lib/test/Integration/Gateways/CI/gpapi/GpApiTransactionsTests.test.js.map +1 -0
  91. package/lib/test/Integration/Gateways/CI/portico/PorticoCreditTests.test.js +111 -0
  92. package/lib/test/Integration/Gateways/CI/portico/PorticoCreditTests.test.js.map +1 -0
  93. package/lib/test/Integration/Gateways/CI/upa_mitc/UpaFunctionalityTests.test.js +84 -0
  94. package/lib/test/Integration/Gateways/CI/upa_mitc/UpaFunctionalityTests.test.js.map +1 -0
  95. package/lib/test/Integration/Gateways/GpApiConnector/AccessTokenPorticoCredentials.test.d.ts +1 -0
  96. package/lib/test/Integration/Gateways/GpApiConnector/AccessTokenPorticoCredentials.test.js +175 -0
  97. package/lib/test/Integration/Gateways/GpApiConnector/AccessTokenPorticoCredentials.test.js.map +1 -0
  98. package/lib/test/Integration/Gateways/GpApiConnector/GpApiCreateTokenWithPorticoCredentialTests.test.d.ts +1 -0
  99. package/lib/test/Integration/Gateways/GpApiConnector/GpApiCreateTokenWithPorticoCredentialTests.test.js +205 -0
  100. package/lib/test/Integration/Gateways/GpApiConnector/GpApiCreateTokenWithPorticoCredentialTests.test.js.map +1 -0
  101. package/lib/test/Integration/Gateways/GpApiConnector/VisaAft.test.d.ts +1 -0
  102. package/lib/test/Integration/Gateways/GpApiConnector/VisaAft.test.js +168 -0
  103. package/lib/test/Integration/Gateways/GpApiConnector/VisaAft.test.js.map +1 -0
  104. package/lib/test/Integration/Gateways/PorticoConnector/GlobalTransactionId.test.d.ts +1 -0
  105. package/lib/test/Integration/Gateways/PorticoConnector/GlobalTransactionId.test.js +243 -0
  106. package/lib/test/Integration/Gateways/PorticoConnector/GlobalTransactionId.test.js.map +1 -0
  107. package/lib/test/Unit/Builders/AuthorizationBuilder/SupplementaryData.test.d.ts +1 -0
  108. package/lib/test/Unit/Builders/AuthorizationBuilder/SupplementaryData.test.js +147 -0
  109. package/lib/test/Unit/Builders/AuthorizationBuilder/SupplementaryData.test.js.map +1 -0
  110. package/lib/test/Unit/Terminals/UPA/UpaStory1Methods.test.d.ts +1 -0
  111. package/lib/test/Unit/Terminals/UPA/UpaStory1Methods.test.js +250 -0
  112. package/lib/test/Unit/Terminals/UPA/UpaStory1Methods.test.js.map +1 -0
  113. package/lib/test/Unit/Terminals/UPA/UpaStory2Methods.test.d.ts +1 -0
  114. package/lib/test/Unit/Terminals/UPA/UpaStory2Methods.test.js +1277 -0
  115. package/lib/test/Unit/Terminals/UPA/UpaStory2Methods.test.js.map +1 -0
  116. package/lib/test/Unit/Terminals/UPA/UpaStory3_4Methods.test.d.ts +1 -0
  117. package/lib/test/Unit/Terminals/UPA/UpaStory3_4Methods.test.js +411 -0
  118. package/lib/test/Unit/Terminals/UPA/UpaStory3_4Methods.test.js.map +1 -0
  119. package/lib/test/Utils/CiTestingHarness.d.ts +21 -0
  120. package/lib/test/Utils/CiTestingHarness.js +65 -7
  121. package/lib/test/Utils/CiTestingHarness.js.map +1 -1
  122. package/package.json +1 -1
  123. package/lib/test/Integration/Gateways/CI/GpApiCreditCardNotPresentTests.test.js +0 -90
  124. package/lib/test/Integration/Gateways/CI/GpApiCreditCardNotPresentTests.test.js.map +0 -1
  125. package/lib/test/Integration/Gateways/CI/PorticoCreditTests.test.js +0 -63
  126. package/lib/test/Integration/Gateways/CI/PorticoCreditTests.test.js.map +0 -1
  127. package/lib/test/Integration/Gateways/CI/UpaMicTests.test.js +0 -52
  128. package/lib/test/Integration/Gateways/CI/UpaMicTests.test.js.map +0 -1
  129. /package/lib/test/Integration/Gateways/CI/{GpApiCreditCardNotPresentTests.test.d.ts → gpapi/GpApiTransactionsTests.test.d.ts} +0 -0
  130. /package/lib/test/Integration/Gateways/CI/{PorticoCreditTests.test.d.ts → portico/PorticoCreditTests.test.d.ts} +0 -0
  131. /package/lib/test/Integration/Gateways/CI/{UpaMicTests.test.d.ts → upa_mitc/UpaFunctionalityTests.test.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GlobalTransactionId.test.js","sourceRoot":"","sources":["../../../../../test/Integration/Gateways/PorticoConnector/GlobalTransactionId.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,147 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const src_1 = require("../../../../src");
4
+ const GpApiAuthorizationRequestBuilder_1 = require("../../../../src/Builders/RequestBuilder/GpApi/GpApiAuthorizationRequestBuilder");
5
+ const buildConfig = () => {
6
+ const config = new src_1.GpApiConfig();
7
+ config.appId = "test-app-id";
8
+ config.appKey = "test-app-key";
9
+ config.environment = src_1.Environment.Test;
10
+ config.channel = src_1.Channel.CardNotPresent;
11
+ config.country = "GB";
12
+ config.accessTokenInfo = new src_1.AccessTokenInfo();
13
+ config.accessTokenInfo.transactionProcessingAccountName =
14
+ "transaction_processing";
15
+ config.accessTokenInfo.transactionProcessingAccountID = "TRA_test_account_id";
16
+ return config;
17
+ };
18
+ const buildCard = () => {
19
+ const card = new src_1.CreditCardData();
20
+ card.number = "4263970000005262";
21
+ card.expMonth = "12";
22
+ card.expYear = "2027";
23
+ card.cvn = "123";
24
+ card.cardHolderName = "James Mason";
25
+ return card;
26
+ };
27
+ describe("AuthorizationBuilder.withSupplementaryData (VISA_DIRECT_AFT)", () => {
28
+ test("stores supplementary data on the builder", () => {
29
+ const fields = [
30
+ "Sender Name",
31
+ "Sender Address",
32
+ "Sender City",
33
+ "Sender Country",
34
+ "Account Number Type",
35
+ "Recipient Account Number",
36
+ ];
37
+ const builder = buildCard()
38
+ .charge(19.99)
39
+ .withCurrency("EUR")
40
+ .withSupplementaryData("VISA_DIRECT_AFT", fields);
41
+ expect(builder.supplementaryData).toEqual({
42
+ VISA_DIRECT_AFT: fields,
43
+ });
44
+ });
45
+ test("registers multiple supplementary data types independently", () => {
46
+ const builder = buildCard()
47
+ .charge(19.99)
48
+ .withCurrency("EUR")
49
+ .withSupplementaryData("VISA_DIRECT_AFT", ["Sender Name"])
50
+ .withSupplementaryData("ANOTHER_TYPE", ["Field A"]);
51
+ expect(builder.supplementaryData).toEqual({
52
+ VISA_DIRECT_AFT: ["Sender Name"],
53
+ ANOTHER_TYPE: ["Field A"],
54
+ });
55
+ });
56
+ });
57
+ describe("GpApiAuthorizationRequestBuilder supplementary_data serialization", () => {
58
+ test("emits order.supplementary_data for VISA_DIRECT_AFT sale", () => {
59
+ const config = buildConfig();
60
+ const fields = [
61
+ "Sender Name",
62
+ "Sender Address",
63
+ "Sender City",
64
+ "Sender Country",
65
+ "Account Number Type",
66
+ "Recipient Account Number",
67
+ ];
68
+ const builder = buildCard()
69
+ .charge(19.99)
70
+ .withCurrency("EUR")
71
+ .withClientTransactionId("APM-20200417")
72
+ .withSupplementaryData("VISA_DIRECT_AFT", fields);
73
+ const request = new GpApiAuthorizationRequestBuilder_1.GpApiAuthorizationRequestBuilder().buildRequest(builder, config);
74
+ const body = JSON.parse(request.requestBody);
75
+ expect(body.order).toBeDefined();
76
+ expect(body.order.supplementary_data).toEqual([
77
+ { type: "VISA_DIRECT_AFT", fields },
78
+ ]);
79
+ });
80
+ test("merges supplementary_data with an existing order.reference (orderId)", () => {
81
+ const config = buildConfig();
82
+ const builder = buildCard()
83
+ .charge(19.99)
84
+ .withCurrency("EUR")
85
+ .withOrderId("ORDER-123")
86
+ .withSupplementaryData("VISA_DIRECT_AFT", ["Sender Name"]);
87
+ const request = new GpApiAuthorizationRequestBuilder_1.GpApiAuthorizationRequestBuilder().buildRequest(builder, config);
88
+ const body = JSON.parse(request.requestBody);
89
+ expect(body.order.reference).toBe("ORDER-123");
90
+ expect(body.order.supplementary_data).toEqual([
91
+ { type: "VISA_DIRECT_AFT", fields: ["Sender Name"] },
92
+ ]);
93
+ });
94
+ test("emits one entry per supplementary data type", () => {
95
+ const config = buildConfig();
96
+ const builder = buildCard()
97
+ .charge(19.99)
98
+ .withCurrency("EUR")
99
+ .withSupplementaryData("VISA_DIRECT_AFT", ["Sender Name"])
100
+ .withSupplementaryData("ANOTHER_TYPE", ["Field A", "Field B"]);
101
+ const request = new GpApiAuthorizationRequestBuilder_1.GpApiAuthorizationRequestBuilder().buildRequest(builder, config);
102
+ const body = JSON.parse(request.requestBody);
103
+ expect(body.order.supplementary_data).toEqual(expect.arrayContaining([
104
+ { type: "VISA_DIRECT_AFT", fields: ["Sender Name"] },
105
+ { type: "ANOTHER_TYPE", fields: ["Field A", "Field B"] },
106
+ ]));
107
+ expect(body.order.supplementary_data).toHaveLength(2);
108
+ });
109
+ test("normalizes a single string value into a fields array", () => {
110
+ const config = buildConfig();
111
+ const builder = buildCard()
112
+ .charge(19.99)
113
+ .withCurrency("EUR")
114
+ .withSupplementaryData("VISA_DIRECT_AFT", "Sender Name");
115
+ const request = new GpApiAuthorizationRequestBuilder_1.GpApiAuthorizationRequestBuilder().buildRequest(builder, config);
116
+ const body = JSON.parse(request.requestBody);
117
+ expect(body.order.supplementary_data).toEqual([
118
+ { type: "VISA_DIRECT_AFT", fields: ["Sender Name"] },
119
+ ]);
120
+ });
121
+ test("does not add order.supplementary_data when none is configured", () => {
122
+ const config = buildConfig();
123
+ const builder = buildCard().charge(19.99).withCurrency("EUR");
124
+ const request = new GpApiAuthorizationRequestBuilder_1.GpApiAuthorizationRequestBuilder().buildRequest(builder, config);
125
+ const body = JSON.parse(request.requestBody);
126
+ if (body.order) {
127
+ expect(body.order.supplementary_data).toBeUndefined();
128
+ }
129
+ else {
130
+ expect(body.order).toBeUndefined();
131
+ }
132
+ });
133
+ test("skips entries with empty type or empty fields", () => {
134
+ const config = buildConfig();
135
+ const builder = buildCard()
136
+ .charge(19.99)
137
+ .withCurrency("EUR")
138
+ .withSupplementaryData("VISA_DIRECT_AFT", ["Sender Name"])
139
+ .withSupplementaryData("EMPTY_FIELDS", []);
140
+ const request = new GpApiAuthorizationRequestBuilder_1.GpApiAuthorizationRequestBuilder().buildRequest(builder, config);
141
+ const body = JSON.parse(request.requestBody);
142
+ expect(body.order.supplementary_data).toEqual([
143
+ { type: "VISA_DIRECT_AFT", fields: ["Sender Name"] },
144
+ ]);
145
+ });
146
+ });
147
+ //# sourceMappingURL=SupplementaryData.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SupplementaryData.test.js","sourceRoot":"","sources":["../../../../../test/Unit/Builders/AuthorizationBuilder/SupplementaryData.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,250 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UpaStory1Methods.test.js","sourceRoot":"","sources":["../../../../../test/Unit/Terminals/UPA/UpaStory1Methods.test.ts"],"names":[],"mappings":"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"}