globalpayments-api 3.11.3 → 3.12.0

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 (90) hide show
  1. package/CHANGELOG.md +11 -1
  2. package/README.md +18 -0
  3. package/lib/src/Builders/AuthorizationBuilder.d.ts +0 -1
  4. package/lib/src/Builders/AuthorizationBuilder.js +0 -4
  5. package/lib/src/Builders/AuthorizationBuilder.js.map +1 -1
  6. package/lib/src/Builders/RecurringBuilder.js +12 -1
  7. package/lib/src/Builders/RecurringBuilder.js.map +1 -1
  8. package/lib/src/Entities/Address.d.ts +1 -0
  9. package/lib/src/Entities/Address.js +1 -0
  10. package/lib/src/Entities/Address.js.map +1 -1
  11. package/lib/src/Entities/Enums/AcquisitionType.d.ts +2 -1
  12. package/lib/src/Entities/Enums/AcquisitionType.js +1 -0
  13. package/lib/src/Entities/Enums/AcquisitionType.js.map +1 -1
  14. package/lib/src/Terminals/Abstractions/IDeviceResponse.d.ts +2 -0
  15. package/lib/src/Terminals/Builders/TerminalAuthBuilder.d.ts +24 -0
  16. package/lib/src/Terminals/Builders/TerminalAuthBuilder.js +53 -0
  17. package/lib/src/Terminals/Builders/TerminalAuthBuilder.js.map +1 -1
  18. package/lib/src/Terminals/Builders/TerminalBuilder.d.ts +3 -3
  19. package/lib/src/Terminals/Builders/TerminalBuilder.js.map +1 -1
  20. package/lib/src/Terminals/Builders/TerminalManageBuilder.d.ts +3 -0
  21. package/lib/src/Terminals/Builders/TerminalManageBuilder.js +8 -0
  22. package/lib/src/Terminals/Builders/TerminalManageBuilder.js.map +1 -1
  23. package/lib/src/Terminals/UPA/Reponses/TransactionResponse.d.ts +6 -0
  24. package/lib/src/Terminals/UPA/Reponses/TransactionResponse.js +30 -0
  25. package/lib/src/Terminals/UPA/Reponses/TransactionResponse.js.map +1 -1
  26. package/lib/src/Terminals/UPA/UpaController.js +124 -8
  27. package/lib/src/Terminals/UPA/UpaController.js.map +1 -1
  28. package/lib/src/Terminals/UPA/UpaInterface.d.ts +1 -1
  29. package/lib/src/Terminals/UPA/UpaInterface.js +4 -2
  30. package/lib/src/Terminals/UPA/UpaInterface.js.map +1 -1
  31. package/lib/test/Integration/Gateways/GpApiConnector/GpApiMMAAccount.test.js +149 -0
  32. package/lib/test/Integration/Gateways/GpApiConnector/GpApiMMAAccount.test.js.map +1 -0
  33. package/lib/test/Unit/Gateways/GpApiConnector/GpApiMMAAccount.test.js +29 -0
  34. package/lib/test/Unit/Gateways/GpApiConnector/GpApiMMAAccount.test.js.map +1 -0
  35. package/lib/test/Unit/Terminals/Builders/TerminalBuilderParityTests.d.ts +17 -0
  36. package/lib/test/Unit/Terminals/Builders/TerminalBuilderParityTests.js +325 -0
  37. package/lib/test/Unit/Terminals/Builders/TerminalBuilderParityTests.js.map +1 -0
  38. package/lib/test/Unit/Terminals/Builders/TerminalBuilderParityTests.test.d.ts +17 -0
  39. package/lib/test/Unit/Terminals/Builders/TerminalBuilderParityTests.test.js +325 -0
  40. package/lib/test/Unit/Terminals/Builders/TerminalBuilderParityTests.test.js.map +1 -0
  41. package/lib/test/Unit/Terminals/UPA/UpaAdmin.test.js +150 -3
  42. package/lib/test/Unit/Terminals/UPA/UpaAdmin.test.js.map +1 -1
  43. package/lib/test/Unit/Terminals/UPA/UpaCredit.test.js +274 -2
  44. package/lib/test/Unit/Terminals/UPA/UpaCredit.test.js.map +1 -1
  45. package/lib/test/Unit/Terminals/UPA/UpaEMVParameterValidation.test.d.ts +7 -0
  46. package/lib/test/Unit/Terminals/UPA/UpaEMVParameterValidation.test.js +258 -0
  47. package/lib/test/Unit/Terminals/UPA/UpaEMVParameterValidation.test.js.map +1 -0
  48. package/lib/test/Unit/Terminals/UPA/UpaJiraStoryValidation.test.d.ts +26 -0
  49. package/lib/test/Unit/Terminals/UPA/UpaJiraStoryValidation.test.js +389 -0
  50. package/lib/test/Unit/Terminals/UPA/UpaJiraStoryValidation.test.js.map +1 -0
  51. package/lib/test/Unit/Terminals/UPA/UpaLanguageCode.test.d.ts +18 -0
  52. package/lib/test/Unit/Terminals/UPA/UpaLanguageCode.test.js +314 -0
  53. package/lib/test/Unit/Terminals/UPA/UpaLanguageCode.test.js.map +1 -0
  54. package/package.json +2 -2
  55. package/lib/test/Integration/Terminals/UPA/UpaTransactionResponseLive.test.js +0 -378
  56. package/lib/test/Integration/Terminals/UPA/UpaTransactionResponseLive.test.js.map +0 -1
  57. package/lib/test/Unit/Builders/AuthorizationBuilder/SupplementaryData.test.js +0 -147
  58. package/lib/test/Unit/Builders/AuthorizationBuilder/SupplementaryData.test.js.map +0 -1
  59. package/lib/test/Unit/Terminals/UPA/Reponses/BatchList.test.d.ts +0 -1
  60. package/lib/test/Unit/Terminals/UPA/Reponses/BatchList.test.js +0 -64
  61. package/lib/test/Unit/Terminals/UPA/Reponses/BatchList.test.js.map +0 -1
  62. package/lib/test/Unit/Terminals/UPA/Reponses/BatchReportResponse.test.d.ts +0 -1
  63. package/lib/test/Unit/Terminals/UPA/Reponses/BatchReportResponse.test.js +0 -145
  64. package/lib/test/Unit/Terminals/UPA/Reponses/BatchReportResponse.test.js.map +0 -1
  65. package/lib/test/Unit/Terminals/UPA/Reponses/OpenTabDetailsResponse.test.d.ts +0 -1
  66. package/lib/test/Unit/Terminals/UPA/Reponses/OpenTabDetailsResponse.test.js +0 -70
  67. package/lib/test/Unit/Terminals/UPA/Reponses/OpenTabDetailsResponse.test.js.map +0 -1
  68. package/lib/test/Unit/Terminals/UPA/Reponses/SafReportResponse.test.d.ts +0 -1
  69. package/lib/test/Unit/Terminals/UPA/Reponses/SafReportResponse.test.js +0 -112
  70. package/lib/test/Unit/Terminals/UPA/Reponses/SafReportResponse.test.js.map +0 -1
  71. package/lib/test/Unit/Terminals/UPA/Reponses/UpaEODResponse.test.d.ts +0 -1
  72. package/lib/test/Unit/Terminals/UPA/Reponses/UpaEODResponse.test.js +0 -108
  73. package/lib/test/Unit/Terminals/UPA/Reponses/UpaEODResponse.test.js.map +0 -1
  74. package/lib/test/Unit/Terminals/UPA/Reponses/UpaSAFResponse.test.d.ts +0 -1
  75. package/lib/test/Unit/Terminals/UPA/Reponses/UpaSAFResponse.test.js +0 -95
  76. package/lib/test/Unit/Terminals/UPA/Reponses/UpaSAFResponse.test.js.map +0 -1
  77. package/lib/test/Unit/Terminals/UPA/Responses/UpaTransactionResponse.test.d.ts +0 -1
  78. package/lib/test/Unit/Terminals/UPA/Responses/UpaTransactionResponse.test.js +0 -1624
  79. package/lib/test/Unit/Terminals/UPA/Responses/UpaTransactionResponse.test.js.map +0 -1
  80. package/lib/test/Unit/Terminals/UPA/UpaStory1Methods.test.d.ts +0 -1
  81. package/lib/test/Unit/Terminals/UPA/UpaStory1Methods.test.js +0 -250
  82. package/lib/test/Unit/Terminals/UPA/UpaStory1Methods.test.js.map +0 -1
  83. package/lib/test/Unit/Terminals/UPA/UpaStory2Methods.test.d.ts +0 -1
  84. package/lib/test/Unit/Terminals/UPA/UpaStory2Methods.test.js +0 -1277
  85. package/lib/test/Unit/Terminals/UPA/UpaStory2Methods.test.js.map +0 -1
  86. package/lib/test/Unit/Terminals/UPA/UpaStory3_4Methods.test.d.ts +0 -1
  87. package/lib/test/Unit/Terminals/UPA/UpaStory3_4Methods.test.js +0 -411
  88. package/lib/test/Unit/Terminals/UPA/UpaStory3_4Methods.test.js.map +0 -1
  89. /package/lib/test/Integration/{Terminals/UPA/UpaTransactionResponseLive.test.d.ts → Gateways/GpApiConnector/GpApiMMAAccount.test.d.ts} +0 -0
  90. /package/lib/test/Unit/{Builders/AuthorizationBuilder/SupplementaryData.test.d.ts → Gateways/GpApiConnector/GpApiMMAAccount.test.d.ts} +0 -0
@@ -0,0 +1,325 @@
1
+ "use strict";
2
+ /**
3
+ * Unit tests for TerminalAuthBuilder and TerminalManageBuilder
4
+ * Testing newly added properties and builder methods for UPA parity with .NET SDK
5
+ *
6
+ * Properties added to TerminalAuthBuilder:
7
+ * - clerkId
8
+ * - prescriptionAmount
9
+ * - clinicAmount
10
+ * - dentalAmount
11
+ * - visionOpticalAmount
12
+ * - confirmAmount
13
+ * - surchargeAmount
14
+ *
15
+ * Properties added to TerminalManageBuilder:
16
+ * - clerkId
17
+ */
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ const src_1 = require("../../../../src");
20
+ describe("TerminalAuthBuilder Parity Tests", () => {
21
+ describe("Medical Amount Properties", () => {
22
+ let builder;
23
+ beforeEach(() => {
24
+ builder = new src_1.TerminalAuthBuilder(src_1.TransactionType.Sale);
25
+ });
26
+ test("withPrescriptionAmount() should set prescriptionAmount property", () => {
27
+ const prescriptionAmt = 25.5;
28
+ const result = builder.withPrescriptionAmount(prescriptionAmt);
29
+ expect(builder.prescriptionAmount).toBe(prescriptionAmt);
30
+ expect(result).toBe(builder); // Fluent API returns this
31
+ });
32
+ test("withClinicAmount() should set clinicAmount property", () => {
33
+ const clinicAmt = 45.75;
34
+ const result = builder.withClinicAmount(clinicAmt);
35
+ expect(builder.clinicAmount).toBe(clinicAmt);
36
+ expect(result).toBe(builder);
37
+ });
38
+ test("withDentalAmount() should set dentalAmount property", () => {
39
+ const dentalAmt = 100.0;
40
+ const result = builder.withDentalAmount(dentalAmt);
41
+ expect(builder.dentalAmount).toBe(dentalAmt);
42
+ expect(result).toBe(builder);
43
+ });
44
+ test("withVisionOpticalAmount() should set visionOpticalAmount property", () => {
45
+ const visionAmt = 200.5;
46
+ const result = builder.withVisionOpticalAmount(visionAmt);
47
+ expect(builder.visionOpticalAmount).toBe(visionAmt);
48
+ expect(result).toBe(builder);
49
+ });
50
+ test("Medical amounts can be chained together", () => {
51
+ builder
52
+ .withPrescriptionAmount(25.5)
53
+ .withClinicAmount(45.75)
54
+ .withDentalAmount(100.0)
55
+ .withVisionOpticalAmount(200.5);
56
+ expect(builder.prescriptionAmount).toBe(25.5);
57
+ expect(builder.clinicAmount).toBe(45.75);
58
+ expect(builder.dentalAmount).toBe(100.0);
59
+ expect(builder.visionOpticalAmount).toBe(200.5);
60
+ });
61
+ test("Medical amounts can be zero", () => {
62
+ builder.withPrescriptionAmount(0);
63
+ expect(builder.prescriptionAmount).toBe(0);
64
+ });
65
+ test("Medical amounts can be decimal values", () => {
66
+ builder
67
+ .withPrescriptionAmount(25.99)
68
+ .withClinicAmount(45.01)
69
+ .withDentalAmount(100.5)
70
+ .withVisionOpticalAmount(200.25);
71
+ expect(builder.prescriptionAmount).toBe(25.99);
72
+ expect(builder.clinicAmount).toBe(45.01);
73
+ expect(builder.dentalAmount).toBe(100.5);
74
+ expect(builder.visionOpticalAmount).toBe(200.25);
75
+ });
76
+ });
77
+ describe("Base Class Property - Clerk ID", () => {
78
+ let builder;
79
+ beforeEach(() => {
80
+ builder = new src_1.TerminalAuthBuilder(src_1.TransactionType.Sale);
81
+ });
82
+ test("withClerkId() (inherited from base class) should set clerkId property", () => {
83
+ const clerkId = 12345;
84
+ const result = builder.withClerkId(clerkId);
85
+ expect(builder.clerkId).toBe(clerkId);
86
+ expect(result).toBe(builder);
87
+ });
88
+ test("withClerkId() can be used in fluent chain with new medical properties", () => {
89
+ builder
90
+ .withAmount(10.0)
91
+ .withClerkId(456)
92
+ .withPrescriptionAmount(25.0)
93
+ .withInvoiceNumber("INV123");
94
+ expect(builder.amount).toBe(10.0);
95
+ expect(builder.clerkId).toBe(456);
96
+ expect(builder.prescriptionAmount).toBe(25.0);
97
+ expect(builder.invoiceNumber).toBe("INV123");
98
+ });
99
+ });
100
+ describe("Confirmation Amount Property", () => {
101
+ let builder;
102
+ beforeEach(() => {
103
+ builder = new src_1.TerminalAuthBuilder(src_1.TransactionType.Sale);
104
+ });
105
+ test("withConfirmationAmount() should set confirmAmount property to true", () => {
106
+ const result = builder.withConfirmationAmount(true);
107
+ expect(builder.confirmAmount).toBe(true);
108
+ expect(result).toBe(builder);
109
+ });
110
+ test("withConfirmationAmount() should set confirmAmount property to false", () => {
111
+ builder.withConfirmationAmount(false);
112
+ expect(builder.confirmAmount).toBe(false);
113
+ });
114
+ test("withConfirmationAmount() can be toggled", () => {
115
+ builder.withConfirmationAmount(true);
116
+ expect(builder.confirmAmount).toBe(true);
117
+ builder.withConfirmationAmount(false);
118
+ expect(builder.confirmAmount).toBe(false);
119
+ });
120
+ });
121
+ describe("Surcharge Amount Property", () => {
122
+ let builder;
123
+ beforeEach(() => {
124
+ builder = new src_1.TerminalAuthBuilder(src_1.TransactionType.Sale);
125
+ });
126
+ test("withSurchargeAmount() should set surchargeAmount property", () => {
127
+ const surchargeAmt = 2.5;
128
+ const result = builder.withSurchargeAmount(surchargeAmt);
129
+ expect(builder.surchargeAmount).toBe(surchargeAmt);
130
+ expect(result).toBe(builder);
131
+ });
132
+ test("withSurchargeAmount() should accept zero", () => {
133
+ builder.withSurchargeAmount(0);
134
+ expect(builder.surchargeAmount).toBe(0);
135
+ });
136
+ test("withSurchargeAmount() should accept decimal values", () => {
137
+ builder.withSurchargeAmount(5.99);
138
+ expect(builder.surchargeAmount).toBe(5.99);
139
+ });
140
+ test("withSurchargeAmount() can be combined with amount", () => {
141
+ builder.withAmount(100.0).withSurchargeAmount(2.5);
142
+ expect(builder.amount).toBe(100.0);
143
+ expect(builder.surchargeAmount).toBe(2.5);
144
+ });
145
+ });
146
+ describe("Complex Builder Chains", () => {
147
+ test("All new builder methods work together in a comprehensive transaction", () => {
148
+ const builder = new src_1.TerminalAuthBuilder(src_1.TransactionType.Sale)
149
+ .withAmount(100.0)
150
+ .withClerkId(789)
151
+ .withPrescriptionAmount(25.0)
152
+ .withClinicAmount(35.0)
153
+ .withDentalAmount(20.0)
154
+ .withVisionOpticalAmount(10.0)
155
+ .withConfirmationAmount(true)
156
+ .withSurchargeAmount(5.0)
157
+ .withInvoiceNumber("INV2026001");
158
+ expect(builder.amount).toBe(100.0);
159
+ expect(builder.clerkId).toBe(789);
160
+ expect(builder.prescriptionAmount).toBe(25.0);
161
+ expect(builder.clinicAmount).toBe(35.0);
162
+ expect(builder.dentalAmount).toBe(20.0);
163
+ expect(builder.visionOpticalAmount).toBe(10.0);
164
+ expect(builder.confirmAmount).toBe(true);
165
+ expect(builder.surchargeAmount).toBe(5.0);
166
+ expect(builder.invoiceNumber).toBe("INV2026001");
167
+ });
168
+ test("Medical amounts can be omitted for normal transactions", () => {
169
+ const builder = new src_1.TerminalAuthBuilder(src_1.TransactionType.Sale)
170
+ .withAmount(50.0)
171
+ .withClerkId(123);
172
+ expect(builder.amount).toBe(50.0);
173
+ expect(builder.clerkId).toBe(123);
174
+ expect(builder.prescriptionAmount).toBeUndefined();
175
+ expect(builder.clinicAmount).toBeUndefined();
176
+ expect(builder.dentalAmount).toBeUndefined();
177
+ expect(builder.visionOpticalAmount).toBeUndefined();
178
+ });
179
+ });
180
+ describe("Transaction Type Compatibility", () => {
181
+ test("New properties work with Auth transaction type", () => {
182
+ const builder = new src_1.TerminalAuthBuilder(src_1.TransactionType.Auth)
183
+ .withAmount(50.0)
184
+ .withClerkId(111);
185
+ expect(builder.transactionType).toBe(src_1.TransactionType.Auth);
186
+ expect(builder.amount).toBe(50.0);
187
+ expect(builder.clerkId).toBe(111);
188
+ });
189
+ test("New properties work with Refund transaction type", () => {
190
+ const builder = new src_1.TerminalAuthBuilder(src_1.TransactionType.Refund)
191
+ .withAmount(25.0)
192
+ .withClerkId(222);
193
+ expect(builder.transactionType).toBe(src_1.TransactionType.Refund);
194
+ expect(builder.amount).toBe(25.0);
195
+ expect(builder.clerkId).toBe(222);
196
+ });
197
+ });
198
+ });
199
+ describe("TerminalManageBuilder Parity Tests", () => {
200
+ describe("Base Class Property - Clerk ID (inherited)", () => {
201
+ let builder;
202
+ beforeEach(() => {
203
+ builder = new src_1.TerminalManageBuilder(src_1.TransactionType.Capture);
204
+ });
205
+ test("withClerkId() (inherited from base class) should set clerkId property", () => {
206
+ const clerkId = 54321;
207
+ const result = builder.withClerkId(clerkId);
208
+ expect(builder.clerkId).toBe(clerkId);
209
+ expect(result).toBe(builder);
210
+ });
211
+ test("withClerkId() can be used in fluent chain with ProcessCPC", () => {
212
+ builder
213
+ .withAmount(500.0)
214
+ .withClerkId(555)
215
+ .withProcessCPC(true)
216
+ .withTransactionId("TXN123");
217
+ expect(builder.amount).toBe(500.0);
218
+ expect(builder.clerkId).toBe(555);
219
+ expect(builder.processCPC).toBe(true);
220
+ expect(builder.transactionId).toBe("TXN123");
221
+ });
222
+ });
223
+ describe("ProcessCPC Property Verification", () => {
224
+ let builder;
225
+ beforeEach(() => {
226
+ builder = new src_1.TerminalManageBuilder(src_1.TransactionType.Capture);
227
+ });
228
+ test("withProcessCPC() should be available and working", () => {
229
+ const result = builder.withProcessCPC(true);
230
+ expect(builder.processCPC).toBe(true);
231
+ expect(result).toBe(builder);
232
+ });
233
+ test("withProcessCPC() with false value", () => {
234
+ builder.withProcessCPC(false);
235
+ expect(builder.processCPC).toBe(false);
236
+ });
237
+ test("ProcessCPC and ClerkId can be combined", () => {
238
+ builder.withProcessCPC(true).withClerkId(999).withAmount(100.0);
239
+ expect(builder.processCPC).toBe(true);
240
+ expect(builder.clerkId).toBe(999);
241
+ expect(builder.amount).toBe(100.0);
242
+ });
243
+ });
244
+ describe("Transaction Type Compatibility", () => {
245
+ test("ClerkId works with Capture transaction type", () => {
246
+ const builder = new src_1.TerminalManageBuilder(src_1.TransactionType.Capture)
247
+ .withAmount(75.0)
248
+ .withClerkId(333);
249
+ expect(builder.transactionType).toBe(src_1.TransactionType.Capture);
250
+ expect(builder.clerkId).toBe(333);
251
+ expect(builder.amount).toBe(75.0);
252
+ });
253
+ test("ClerkId works with Refund transaction type", () => {
254
+ const builder = new src_1.TerminalManageBuilder(src_1.TransactionType.Refund)
255
+ .withAmount(50.0)
256
+ .withClerkId(444);
257
+ expect(builder.transactionType).toBe(src_1.TransactionType.Refund);
258
+ expect(builder.clerkId).toBe(444);
259
+ });
260
+ test("ClerkId works with Void transaction type", () => {
261
+ const builder = new src_1.TerminalManageBuilder(src_1.TransactionType.Void).withClerkId(555);
262
+ expect(builder.transactionType).toBe(src_1.TransactionType.Void);
263
+ expect(builder.clerkId).toBe(555);
264
+ });
265
+ });
266
+ });
267
+ describe("Builder Properties Defaults", () => {
268
+ test("TerminalAuthBuilder properties default to undefined", () => {
269
+ const builder = new src_1.TerminalAuthBuilder(src_1.TransactionType.Sale);
270
+ expect(builder.clerkId).toBeUndefined();
271
+ expect(builder.prescriptionAmount).toBeUndefined();
272
+ expect(builder.clinicAmount).toBeUndefined();
273
+ expect(builder.dentalAmount).toBeUndefined();
274
+ expect(builder.visionOpticalAmount).toBeUndefined();
275
+ expect(builder.confirmAmount).toBeUndefined();
276
+ expect(builder.surchargeAmount).toBeUndefined();
277
+ });
278
+ test("TerminalManageBuilder clerkId defaults to undefined", () => {
279
+ const builder = new src_1.TerminalManageBuilder(src_1.TransactionType.Capture);
280
+ expect(builder.clerkId).toBeUndefined();
281
+ });
282
+ });
283
+ describe("Property Type Validation", () => {
284
+ describe("Numeric Properties", () => {
285
+ test("ClerkId accepts valid numbers", () => {
286
+ const builder = new src_1.TerminalAuthBuilder(src_1.TransactionType.Sale);
287
+ builder.withClerkId(12345);
288
+ expect(typeof builder.clerkId).toBe("number");
289
+ expect(builder.clerkId).toBe(12345);
290
+ });
291
+ test("Medical amounts accept valid decimal numbers", () => {
292
+ const builder = new src_1.TerminalAuthBuilder(src_1.TransactionType.Sale);
293
+ builder
294
+ .withPrescriptionAmount(10.5)
295
+ .withClinicAmount(20.75)
296
+ .withDentalAmount(30.99)
297
+ .withVisionOpticalAmount(40.01);
298
+ expect(typeof builder.prescriptionAmount).toBe("number");
299
+ expect(typeof builder.clinicAmount).toBe("number");
300
+ expect(typeof builder.dentalAmount).toBe("number");
301
+ expect(typeof builder.visionOpticalAmount).toBe("number");
302
+ });
303
+ test("Surcharge amount accepts valid decimal numbers", () => {
304
+ const builder = new src_1.TerminalAuthBuilder(src_1.TransactionType.Sale);
305
+ builder.withSurchargeAmount(5.5);
306
+ expect(typeof builder.surchargeAmount).toBe("number");
307
+ expect(builder.surchargeAmount).toBe(5.5);
308
+ });
309
+ });
310
+ describe("Boolean Properties", () => {
311
+ test("ConfirmAmount accepts boolean values", () => {
312
+ const builder = new src_1.TerminalAuthBuilder(src_1.TransactionType.Sale);
313
+ builder.withConfirmationAmount(true);
314
+ expect(typeof builder.confirmAmount).toBe("boolean");
315
+ expect(builder.confirmAmount).toBe(true);
316
+ });
317
+ test("ProcessCPC accepts boolean values in TerminalManageBuilder", () => {
318
+ const builder = new src_1.TerminalManageBuilder(src_1.TransactionType.Capture);
319
+ builder.withProcessCPC(false);
320
+ expect(typeof builder.processCPC).toBe("boolean");
321
+ expect(builder.processCPC).toBe(false);
322
+ });
323
+ });
324
+ });
325
+ //# sourceMappingURL=TerminalBuilderParityTests.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TerminalBuilderParityTests.test.js","sourceRoot":"","sources":["../../../../../test/Unit/Terminals/Builders/TerminalBuilderParityTests.test.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  /**
4
- * Unit tests for device-level methods:
4
+ * Unit tests for device-level methods and administrative transactions:
5
5
  * endOfDay(), sendStoreAndForward(), getSignature(), ping(),
6
6
  * balance(), reverse(), deletePreAuth(),
7
7
  * startCardTransaction(), reboot(),
8
- * MITC connection mode, deleteSaf(), cancel(), registerPOS()
9
- *
8
+ * MITC connection mode, deleteSaf(), cancel(), registerPOS(),
9
+ * refund() with clerkId and enhanced fields,
10
+ * verify() with address verification and CVV verification,
11
+ * lineItem() with LineItemDisplay spec
10
12
  */
11
13
  const src_1 = require("../../../../src");
12
14
  const DeviceService_1 = require("../../../../src/Services/DeviceService");
@@ -1256,5 +1258,150 @@ afterEach(async () => {
1256
1258
  throw err;
1257
1259
  }
1258
1260
  });
1261
+ // ===============================================================//
1262
+ test("[UpaManageTests:600] capture() serializes processCPC indicator", async () => {
1263
+ const controller = src_1.ServicesContainer.instance().getDeviceController();
1264
+ const responseauth = await device
1265
+ .authorize(10.0)
1266
+ .withEcrId(13)
1267
+ .execute();
1268
+ const builder = device
1269
+ .capture()
1270
+ .withTransactionId(responseauth.transactionId)
1271
+ .withAmount(10.0)
1272
+ .withEcrId(13)
1273
+ .withProcessCPC(true);
1274
+ const request = controller.buildManageTransaction(builder).getJsonRequest();
1275
+ console.log("[UpaManageTests:600] Capture with processCPC request payload:\n" +
1276
+ JSON.stringify(request, null, 2));
1277
+ expect(request.data.command).toBe("AuthCompletion");
1278
+ expect(request.data.data.transaction.processCPC).toBe("1");
1279
+ const response = await builder.execute();
1280
+ expect(response.status).toBe("Success");
1281
+ });
1282
+ test("[UpaManageTests:601] capture() serializes processCPC false as 0", async () => {
1283
+ const responseauth = await device
1284
+ .authorize(10.0)
1285
+ .withEcrId(13)
1286
+ .execute();
1287
+ const controller = src_1.ServicesContainer.instance().getDeviceController();
1288
+ sleep(100);
1289
+ const builder = device
1290
+ .capture()
1291
+ .withTransactionId(responseauth.transactionId)
1292
+ .withAmount(10.0)
1293
+ .withEcrId(13)
1294
+ .withProcessCPC(false);
1295
+ const request = controller.buildManageTransaction(builder).getJsonRequest();
1296
+ console.log("[UpaManageTests:601] Capture with processCPC false request payload:\n" +
1297
+ JSON.stringify(request, null, 2));
1298
+ expect(request.data.command).toBe("AuthCompletion");
1299
+ expect(request.data.data.transaction.processCPC).toBe("0");
1300
+ const response = await builder.execute();
1301
+ expect(response.status).toBe("Success");
1302
+ });
1303
+ });
1304
+ // refund() with all administrative enhancements
1305
+ // ===========================================================================
1306
+ (0, UpaHelpertest_1.describeUpaLive)("UPA Credit – refund() with enhanced fields", () => {
1307
+ let device;
1308
+ beforeEach(() => {
1309
+ device = (0, UpaHelpertest_1.createTestDevice)();
1310
+ });
1311
+ test("refund() includes clerkId in request", async () => {
1312
+ const saleresponse = await device.sale(5).withEcrId(13).execute();
1313
+ const builder = await device
1314
+ .refund(2)
1315
+ .withEcrId(13)
1316
+ .withReferenceNumber(saleresponse.terminalRefNumber)
1317
+ .withClerkId(123);
1318
+ const response = await builder.execute();
1319
+ console.log("Response Status:", response.status);
1320
+ expect(response).toBeDefined();
1321
+ expect(response.status).toBe("Success");
1322
+ });
1323
+ test("refund() by transaction ID", async () => {
1324
+ const saleResponse = await device.sale(10).withEcrId(13).execute();
1325
+ expect(saleResponse).toBeDefined();
1326
+ expect(saleResponse.status).toBe("Success");
1327
+ const response = await device
1328
+ .refund(10)
1329
+ .withEcrId(13)
1330
+ .withTransactionId(saleResponse.gatewayTxnId)
1331
+ .execute();
1332
+ expect(response).toBeDefined();
1333
+ expect(response.status).toBe("Success");
1334
+ expect(response.transactionAmount).toBe(10);
1335
+ console.log(`[Refund By TransID] Amount: ${response.transactionAmount}, Status: ${response.status}`);
1336
+ });
1337
+ });
1338
+ // ===========================================================================
1339
+ // verify() with all administrative enhancements
1340
+ // ===========================================================================
1341
+ (0, UpaHelpertest_1.describeUpaLive)("UPA Credit – verify() with enhanced fields", () => {
1342
+ let device;
1343
+ beforeEach(() => {
1344
+ device = (0, UpaHelpertest_1.createTestDevice)();
1345
+ });
1346
+ test("verify() includes address verification in request", async () => {
1347
+ const address = new src_1.Address();
1348
+ address.addressLine1 = "123 Main St";
1349
+ address.city = "New York";
1350
+ address.state = "NY";
1351
+ address.postalCode = "10001";
1352
+ address.countryCode = "US";
1353
+ const response = await device
1354
+ .verify()
1355
+ .withEcrId(13)
1356
+ .withAddress(address)
1357
+ .withClerkId(1234)
1358
+ .execute();
1359
+ expect(response).toBeDefined();
1360
+ expect(response.status).toBe("Success");
1361
+ expect(response.maskedCardNumber).toBeDefined();
1362
+ expect(response.cardType).toBeDefined();
1363
+ console.log(`[Verify Address] AVS Code: ${response.avsResponseCode}, Status: ${response.status}`);
1364
+ });
1365
+ });
1366
+ // ===========================================================================
1367
+ // lineItem() with LineItemDisplay spec (lineItemLeft, lineItemRight)
1368
+ // ===========================================================================
1369
+ (0, UpaHelpertest_1.describeUpaLive)("UPA Credit – lineItem() with LineItemDisplay spec", () => {
1370
+ let device;
1371
+ beforeEach(() => {
1372
+ device = (0, UpaHelpertest_1.createTestDevice)();
1373
+ });
1374
+ test("lineItem() displays lineItemLeft and lineItemRight per spec", async () => {
1375
+ const response = await device.lineItem("Toothpaste", "10.00");
1376
+ expect(response).toBeInstanceOf(TransactionResponse_1.TransactionResponse);
1377
+ expect(response).toBeDefined();
1378
+ console.log(`[LineItem] Item displayed successfully`);
1379
+ // Clear device UI
1380
+ await device.cancel();
1381
+ });
1382
+ test("lineItem() uses ecrId from device instead of hardcoded value", async () => {
1383
+ device.ecrId = "12";
1384
+ const response = await device.lineItem("Test Item", "$5.00");
1385
+ expect(response).toBeInstanceOf(TransactionResponse_1.TransactionResponse);
1386
+ console.log(`[LineItem CustomEcrId] Item displayed with EcrId: 12`);
1387
+ // Clear device UI
1388
+ await device.cancel();
1389
+ });
1390
+ test("lineItem() handles optional parameters correctly", async () => {
1391
+ const response = await device.lineItem("Item Only");
1392
+ expect(response).toBeInstanceOf(TransactionResponse_1.TransactionResponse);
1393
+ console.log(`[LineItem Minimal] Item displayed with minimal parameters`);
1394
+ // Clear device UI
1395
+ await device.cancel();
1396
+ });
1397
+ test("lineItem() throws error for null leftText", async () => {
1398
+ try {
1399
+ await device.lineItem(null);
1400
+ fail("Should have thrown an error");
1401
+ }
1402
+ catch (error) {
1403
+ expect(error.message).toContain("cannot be null");
1404
+ }
1405
+ });
1259
1406
  });
1260
1407
  //# sourceMappingURL=UpaAdmin.test.js.map