@pixelpay/sdk-core 1.0.0-beta.0 → 2.0.0-beta.2

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 (152) hide show
  1. package/.vscode/launch.json +25 -0
  2. package/babel.config.js +6 -0
  3. package/index.html +454 -0
  4. package/jest.config.js +5 -0
  5. package/lib/base/Helpers.d.ts +17 -0
  6. package/lib/base/Helpers.js +43 -4
  7. package/lib/base/Helpers.js.map +1 -1
  8. package/lib/base/RequestBehaviour.d.ts +1 -1
  9. package/lib/base/RequestBehaviour.js +16 -0
  10. package/lib/base/RequestBehaviour.js.map +1 -1
  11. package/lib/base/Response.d.ts +1 -1
  12. package/lib/base/Response.js +20 -0
  13. package/lib/base/Response.js.map +1 -1
  14. package/lib/base/ServiceBehaviour.d.ts +16 -42
  15. package/lib/base/ServiceBehaviour.js +64 -73
  16. package/lib/base/ServiceBehaviour.js.map +1 -1
  17. package/lib/browser/index.js +18 -0
  18. package/lib/entities/CardResult.d.ts +74 -0
  19. package/lib/entities/CardResult.js +90 -0
  20. package/lib/entities/CardResult.js.map +1 -0
  21. package/lib/entities/TransactionResult.d.ts +97 -0
  22. package/lib/entities/TransactionResult.js +120 -0
  23. package/lib/entities/TransactionResult.js.map +1 -0
  24. package/lib/index.d.ts +41 -27
  25. package/lib/index.js +40 -28
  26. package/lib/index.js.map +1 -1
  27. package/lib/libraries/CardinalManager.d.ts +47 -0
  28. package/lib/libraries/CardinalManager.js +254 -0
  29. package/lib/libraries/CardinalManager.js.map +1 -0
  30. package/lib/libraries/PayloadManager.d.ts +26 -0
  31. package/lib/libraries/PayloadManager.js +106 -0
  32. package/lib/libraries/PayloadManager.js.map +1 -0
  33. package/lib/libraries/PixelPayLoading.d.ts +7 -0
  34. package/lib/libraries/PixelPayLoading.js +44 -0
  35. package/lib/libraries/PixelPayLoading.js.map +1 -0
  36. package/lib/libraries/PixelPayModal.d.ts +12 -0
  37. package/lib/libraries/PixelPayModal.js +72 -0
  38. package/lib/libraries/PixelPayModal.js.map +1 -0
  39. package/lib/models/Billing.js +24 -0
  40. package/lib/models/Billing.js.map +1 -1
  41. package/lib/models/Card.js +23 -0
  42. package/lib/models/Card.js.map +1 -1
  43. package/lib/models/Item.js +24 -0
  44. package/lib/models/Item.js.map +1 -1
  45. package/lib/models/Order.js +47 -0
  46. package/lib/models/Order.js.map +1 -1
  47. package/lib/models/Settings.d.ts +65 -0
  48. package/lib/models/Settings.js +90 -0
  49. package/lib/models/Settings.js.map +1 -0
  50. package/lib/requests/AuthTransaction.d.ts +3 -0
  51. package/lib/{mappings/VoidTransaction.js → requests/AuthTransaction.js} +7 -7
  52. package/lib/requests/AuthTransaction.js.map +1 -0
  53. package/lib/{mappings → requests}/CaptureTransaction.d.ts +2 -2
  54. package/lib/{mappings → requests}/CaptureTransaction.js +12 -3
  55. package/lib/requests/CaptureTransaction.js.map +1 -0
  56. package/lib/{mappings → requests}/CardTokenization.d.ts +0 -4
  57. package/lib/{mappings → requests}/CardTokenization.js +51 -2
  58. package/lib/requests/CardTokenization.js.map +1 -0
  59. package/lib/requests/LookupContinueTransaction.d.ts +11 -0
  60. package/lib/{mappings/CustomerTokenization.js → requests/LookupContinueTransaction.js} +18 -9
  61. package/lib/requests/LookupContinueTransaction.js.map +1 -0
  62. package/lib/requests/LookupTransaction.d.ts +68 -0
  63. package/lib/requests/LookupTransaction.js +107 -0
  64. package/lib/requests/LookupTransaction.js.map +1 -0
  65. package/lib/{mappings/AuthTransaction.d.ts → requests/PaymentTransaction.d.ts} +20 -5
  66. package/lib/requests/PaymentTransaction.js +190 -0
  67. package/lib/requests/PaymentTransaction.js.map +1 -0
  68. package/lib/requests/SaleTransaction.d.ts +3 -0
  69. package/lib/{mappings → requests}/SaleTransaction.js +2 -2
  70. package/lib/requests/SaleTransaction.js.map +1 -0
  71. package/lib/requests/StatusTransaction.d.ts +7 -0
  72. package/lib/{mappings → requests}/StatusTransaction.js +8 -3
  73. package/lib/requests/StatusTransaction.js.map +1 -0
  74. package/lib/{mappings → requests}/VoidTransaction.d.ts +2 -2
  75. package/lib/{base/PaymentTransaction.js → requests/VoidTransaction.js} +17 -8
  76. package/lib/requests/VoidTransaction.js.map +1 -0
  77. package/lib/resources/Environment.d.ts +6 -0
  78. package/lib/resources/Environment.js +13 -0
  79. package/lib/resources/Environment.js.map +1 -0
  80. package/lib/resources/Locations.d.ts +16 -0
  81. package/lib/resources/Locations.js +27 -0
  82. package/lib/resources/Locations.js.map +1 -0
  83. package/lib/{resources → responses}/ErrorResponse.d.ts +0 -0
  84. package/lib/{resources → responses}/ErrorResponse.js +0 -0
  85. package/lib/{resources → responses}/ErrorResponse.js.map +1 -1
  86. package/lib/{resources → responses}/FailureResponse.d.ts +0 -0
  87. package/lib/{resources → responses}/FailureResponse.js +0 -0
  88. package/lib/{resources → responses}/FailureResponse.js.map +1 -1
  89. package/lib/{resources → responses}/InputErrorResponse.d.ts +0 -0
  90. package/lib/{resources → responses}/InputErrorResponse.js +0 -0
  91. package/lib/{resources → responses}/InputErrorResponse.js.map +1 -1
  92. package/lib/{resources → responses}/NetworkFailureResponse.d.ts +0 -0
  93. package/lib/{resources → responses}/NetworkFailureResponse.js +0 -0
  94. package/lib/{resources → responses}/NetworkFailureResponse.js.map +1 -1
  95. package/lib/{resources → responses}/NoAccessResponse.d.ts +0 -0
  96. package/lib/{resources → responses}/NoAccessResponse.js +0 -0
  97. package/lib/{resources → responses}/NoAccessResponse.js.map +1 -1
  98. package/lib/{resources → responses}/NotFoundResponse.d.ts +0 -0
  99. package/lib/{resources → responses}/NotFoundResponse.js +0 -0
  100. package/lib/{resources → responses}/NotFoundResponse.js.map +1 -1
  101. package/lib/{resources → responses}/PayloadResponse.d.ts +0 -0
  102. package/lib/{resources → responses}/PayloadResponse.js +0 -0
  103. package/lib/{resources → responses}/PayloadResponse.js.map +1 -1
  104. package/lib/{resources → responses}/PaymentDeclinedResponse.d.ts +0 -0
  105. package/lib/{resources → responses}/PaymentDeclinedResponse.js +0 -0
  106. package/lib/{resources → responses}/PaymentDeclinedResponse.js.map +1 -1
  107. package/lib/{resources → responses}/PreconditionalResponse.d.ts +0 -0
  108. package/lib/{resources → responses}/PreconditionalResponse.js +0 -0
  109. package/lib/{resources → responses}/PreconditionalResponse.js.map +1 -1
  110. package/lib/{resources → responses}/SuccessResponse.d.ts +0 -0
  111. package/lib/{resources → responses}/SuccessResponse.js +0 -0
  112. package/lib/{resources → responses}/SuccessResponse.js.map +1 -1
  113. package/lib/responses/TimeoutResponse.d.ts +3 -0
  114. package/lib/responses/TimeoutResponse.js +27 -0
  115. package/lib/responses/TimeoutResponse.js.map +1 -0
  116. package/lib/services/CardinalAuthentication.d.ts +19 -0
  117. package/lib/services/CardinalAuthentication.js +56 -0
  118. package/lib/services/CardinalAuthentication.js.map +1 -0
  119. package/lib/services/Tokenization.d.ts +5 -14
  120. package/lib/services/Tokenization.js +87 -20
  121. package/lib/services/Tokenization.js.map +1 -1
  122. package/lib/services/Transaction.d.ts +54 -5
  123. package/lib/services/Transaction.js +193 -25
  124. package/lib/services/Transaction.js.map +1 -1
  125. package/lib/version.d.ts +1 -1
  126. package/lib/version.js +1 -1
  127. package/lib/web.d.ts +28 -0
  128. package/package.json +16 -5
  129. package/{test.js → test-node.js} +0 -0
  130. package/tests/Locations.test.ts +9 -0
  131. package/tests/Models/Card.test.ts +33 -0
  132. package/tests/Models/Order.test.ts +64 -0
  133. package/tests/Models/Settings.test.ts +65 -0
  134. package/tests/Tokenization.test.ts +229 -0
  135. package/tests/Transaction.test.ts +342 -0
  136. package/webpack.mix.js +12 -0
  137. package/lib/base/PaymentTransaction.d.ts +0 -3
  138. package/lib/base/PaymentTransaction.js.map +0 -1
  139. package/lib/mappings/AuthTransaction.js +0 -78
  140. package/lib/mappings/AuthTransaction.js.map +0 -1
  141. package/lib/mappings/CaptureTransaction.js.map +0 -1
  142. package/lib/mappings/CardTokenization.js.map +0 -1
  143. package/lib/mappings/CustomerTokenization.d.ts +0 -7
  144. package/lib/mappings/CustomerTokenization.js.map +0 -1
  145. package/lib/mappings/SaleTransaction.d.ts +0 -3
  146. package/lib/mappings/SaleTransaction.js.map +0 -1
  147. package/lib/mappings/StatusTransaction.d.ts +0 -7
  148. package/lib/mappings/StatusTransaction.js.map +0 -1
  149. package/lib/mappings/VoidTransaction.js.map +0 -1
  150. package/lib/models/CardToken.d.ts +0 -14
  151. package/lib/models/CardToken.js +0 -9
  152. package/lib/models/CardToken.js.map +0 -1
package/package.json CHANGED
@@ -1,23 +1,34 @@
1
1
  {
2
2
  "name": "@pixelpay/sdk-core",
3
- "version": "1.0.0-beta.0",
3
+ "version": "2.0.0-beta.2",
4
4
  "description": "PixelPay SDK toolkit",
5
5
  "main": "lib/index.js",
6
- "browser": "lib/index.js",
6
+ "browser": "lib/browser/index.js",
7
7
  "types": "lib/index.d.ts",
8
8
  "devDependencies": {
9
+ "@babel/core": "^7.16.0",
10
+ "@babel/preset-env": "^7.16.4",
11
+ "@babel/preset-typescript": "^7.16.0",
12
+ "@types/jest": "^27.0.3",
13
+ "babel-jest": "^27.3.1",
14
+ "browser-sync": "^2.27.7",
15
+ "browserify": "^17.0.0",
16
+ "jest": "^27.3.1",
17
+ "laravel-mix": "^6.0.39",
9
18
  "shx": "^0.3.3",
10
- "typescript": "^4.3.5"
19
+ "ts-loader": "^9.2.6",
20
+ "typescript": "^4.5.2"
11
21
  },
12
22
  "scripts": {
13
23
  "clean": "shx rm -rf _bundles lib lib-esm dist",
14
- "build": "npm run clean && node version.js && tsc",
24
+ "build": "npm run clean && node version.js && tsc && npx mix --production",
25
+ "dev": "browser-sync start --server --files 'lib/*.*'",
15
26
  "prepublishOnly": "npm run build"
16
27
  },
17
28
  "author": "Ivan Suazo <ivan@pixel.hn>",
18
29
  "license": "MTI",
19
30
  "dependencies": {
20
- "axios": "^0.21.2",
31
+ "axios": "^0.21.4",
21
32
  "crypto-js": "^4.1.1"
22
33
  }
23
34
  }
File without changes
@@ -0,0 +1,9 @@
1
+ import Locations from "../src/resources/Locations";
2
+
3
+ test('Location countires', () => {
4
+ expect(Locations.countriesList()["HN"]).toBe("Honduras")
5
+ });
6
+
7
+ test('Location states', () => {
8
+ expect(Locations.statesList("HN")["HN-CR"]).toBe("Cortes")
9
+ });
@@ -0,0 +1,33 @@
1
+ import Card from '../../src/models/Card';
2
+
3
+ test('Card shoul be empty', () => {
4
+ let card: Card = new Card();
5
+
6
+ expect(card.cardholder).toBe(undefined)
7
+ expect(card.cvv2).toBe(undefined)
8
+ expect(card.expire_month).toBe(undefined)
9
+ expect(card.expire_year).toBe(undefined)
10
+ expect(card.number).toBe(undefined)
11
+ })
12
+
13
+ test('Setup card model successful', () => {
14
+ let card: Card = new Card();
15
+ let name = "Jhon Doe"
16
+ let cvv = "009";
17
+ let month = 12;
18
+ let year = 2025;
19
+ let number = "4111 1111 1111 1111";
20
+
21
+ card.cardholder = name;
22
+ card.cvv2 = cvv;
23
+ card.expire_month = month;
24
+ card.expire_year = year;
25
+ card.number = number;
26
+
27
+ expect(card.cardholder).toEqual(name)
28
+ expect(card.cvv2).toBe(cvv)
29
+ expect(card.expire_month).toBe(month)
30
+ expect(card.expire_year).toBe(year)
31
+ expect(card.number).toBe(number)
32
+ expect(card.getExpireFormat()).toEqual("2512");
33
+ })
@@ -0,0 +1,64 @@
1
+ import Item from '../../src/models/Item';
2
+ import Order from '../../src/models/Order'
3
+
4
+ test('Order shoul be empty', () => {
5
+ let order: Order = new Order();
6
+
7
+ expect(order.id).toBe(undefined)
8
+ expect(order.currency).toBe(undefined)
9
+ expect(order.amount).toBe(undefined)
10
+ expect(order.tax_amount).toBe(undefined)
11
+ expect(order.shipping_amount).toBe(undefined)
12
+ expect(order.content).toStrictEqual([])
13
+ expect(order.extras).toStrictEqual({})
14
+ expect(order.note).toBe(undefined)
15
+ expect(order.callback_url).toBe(undefined)
16
+ expect(order.customer_name).toBe(undefined)
17
+ expect(order.customer_email).toBe(undefined)
18
+ })
19
+
20
+ test('Order with empty item', () => {
21
+ let order: Order = new Order();
22
+ let item = new Item();
23
+
24
+ order.amount = 10.00;
25
+ order.addItem(item);
26
+
27
+ order.totalize();
28
+ expect(order.amount).toEqual(0.00)
29
+ })
30
+
31
+ test('Order with items', () => {
32
+ let order: Order = new Order();
33
+ let item = new Item();
34
+ const price = 12.00;
35
+ const qty = 10;
36
+ const tax = 3;
37
+
38
+ order.amount = 10.00;
39
+
40
+ item.code = 'x10';
41
+ item.price = price;
42
+ item.qty = qty;
43
+ item.tax = tax;
44
+ item.title = "Test item";
45
+ item.total = 10;
46
+ item.totalize();
47
+ expect(item.total).toEqual(price * qty);
48
+
49
+ order.addItem(item);
50
+ order.totalize();
51
+ expect(order.amount).toEqual(price * qty);
52
+ expect(order.tax_amount).toEqual(tax * qty);
53
+ })
54
+
55
+ test('Add extra info to order', () => {
56
+ let order: Order = new Order();
57
+ order.addExtra('user_id', 1);
58
+ order.addExtra('user_name', "Jhon");
59
+ order.addExtra('user_last_name', "Doe");
60
+
61
+ expect(order.extras.hasOwnProperty("user_id")).toBe(true);
62
+ expect(order.extras.hasOwnProperty("user_name")).toBe(true);
63
+ expect(order.extras.hasOwnProperty("user_last_name")).toBe(true);
64
+ })
@@ -0,0 +1,65 @@
1
+ import Settings from '../../src/models/Settings';
2
+
3
+
4
+ test("Default settings", () => {
5
+ let settings: Settings = new Settings();
6
+ expect(settings.endpoint).toEqual("https://pixelpay.app");
7
+ expect(settings.auth_key).toEqual(undefined)
8
+ expect(settings.auth_hash).toEqual(undefined)
9
+ expect(settings.auth_user).toEqual(undefined)
10
+ expect(settings.environment).toEqual(undefined)
11
+ expect(settings.lang).toEqual(undefined)
12
+ })
13
+
14
+ test('Setup endpoint', () => {
15
+ let settings: Settings = new Settings();
16
+ let staging = 'https://pixel-pay.com';
17
+ expect(settings.endpoint).toEqual("https://pixelpay.app");
18
+ settings.setupEndpoint(staging);
19
+ expect(settings.endpoint).toEqual(staging);
20
+ })
21
+
22
+ test('Setup credentials', () => {
23
+ let settings: Settings = new Settings();
24
+ let hash = "12345678945612345678912345679";
25
+ let key = "1234567890";
26
+ settings.setupCredentials(key, hash);
27
+ expect(settings.auth_key).toEqual(key);
28
+ expect(settings.auth_hash).toEqual(hash);
29
+ })
30
+
31
+ test('Setup platform user', () => {
32
+ let settings: Settings = new Settings();
33
+ let user = '123457890';
34
+ settings.setupPlatformUser(user);
35
+ expect(settings.auth_user).toEqual(user);
36
+ })
37
+
38
+ test('Setup enviroment', () => {
39
+ let settings: Settings = new Settings();
40
+ let sandbox = "sandbox";
41
+ settings.environment = sandbox;
42
+ expect(settings.environment).toEqual(sandbox);
43
+ })
44
+
45
+ test('Setup setupSandbox', () => {
46
+ let settings: Settings = new Settings();
47
+ let staging = 'https://pixel-pay.com';
48
+ let hash = "36cdf8271723276cb6f94904f8bde4b6";
49
+ let key = "1234567890";
50
+ let sandbox = "sandbox";
51
+
52
+ settings.setupSandbox();
53
+ expect(settings.endpoint).toEqual(staging);
54
+ expect(settings.auth_key).toEqual(key);
55
+ expect(settings.auth_hash).toEqual(hash);
56
+ expect(settings.environment).toEqual(sandbox);
57
+
58
+ })
59
+
60
+ test('Setup language', () => {
61
+ let settings: Settings = new Settings();
62
+ let lang = 'es';
63
+ settings.setupLanguage(lang);
64
+ expect(settings.lang).toEqual(lang);
65
+ })
@@ -0,0 +1,229 @@
1
+ import Billing from "../src/models/Billing";
2
+ import Card from "../src/models/Card";
3
+ import Settings from "../src/models/Settings";
4
+ import CardTokenization from "../src/requests/CardTokenization";
5
+ import ErrorResponse from "../src/responses/ErrorResponse";
6
+ import InputErrorResponse from "../src/responses/InputErrorResponse";
7
+ import SuccessResponse from "../src/responses/SuccessResponse";
8
+ import Tokenization from "../src/services/Tokenization";
9
+
10
+ const TIMEOUT = 8000;
11
+
12
+ function getCard(card_number: string = "4111 1111 1111 1111"): Card {
13
+ var card = new Card();
14
+ card.number = card_number;
15
+ card.cardholder = "Test Card";
16
+ card.expire_month = 12;
17
+ card.expire_year = 2024;
18
+ card.cvv2 = "999";
19
+
20
+ return card;
21
+ }
22
+
23
+ function getBilling(): Billing {
24
+ var billing = new Billing();
25
+ billing.address = 'Ave Circunvalacion';
26
+ billing.country = 'HN';
27
+ billing.state = 'HN-CR';
28
+ billing.city = 'San Pedro Sula';
29
+ billing.phone = '99999999';
30
+
31
+ return billing;
32
+ }
33
+
34
+ it('Fail vault card by missing card inputs', () => {
35
+ expect.assertions(8)
36
+ let settings = new Settings();
37
+ settings.setupSandbox();
38
+
39
+ let service: Tokenization = new Tokenization(settings);
40
+ let cardTokenization: CardTokenization = new CardTokenization();
41
+ cardTokenization.setBilling(getBilling());
42
+
43
+ return service.vaultCard(cardTokenization).then( response => {
44
+ expect(response).toBeInstanceOf(InputErrorResponse);
45
+ expect(false).toBe(response.success);
46
+ expect(422).toBe(response.status);
47
+ expect(true).toBe(response.inputHasError('cvv2'))
48
+ expect(true).toBe(response.inputHasError('expire_month'))
49
+ expect(true).toBe(response.inputHasError('expire_year'))
50
+ expect(true).toBe(response.inputHasError('cardholder'))
51
+ expect(true).toBe(response.inputHasError('number'))
52
+ })
53
+ }, TIMEOUT)
54
+
55
+ it('Fail vault card by missing billing inputs', () => {
56
+ expect.assertions(8)
57
+ let settings = new Settings();
58
+ settings.setupSandbox();
59
+
60
+ let service: Tokenization = new Tokenization(settings);
61
+ let cardTokenization: CardTokenization = new CardTokenization();
62
+ cardTokenization.setCard(getCard());
63
+
64
+ return service.vaultCard(cardTokenization).then( response => {
65
+ expect(response).toBeInstanceOf(InputErrorResponse);
66
+ expect(false).toBe(response.success);
67
+ expect(422).toBe(response.status);
68
+ expect(true).toBe(response.inputHasError('address'))
69
+ expect(true).toBe(response.inputHasError('city'))
70
+ expect(true).toBe(response.inputHasError('country'))
71
+ expect(true).toBe(response.inputHasError('phone'))
72
+ expect(true).toBe(response.inputHasError('state'))
73
+ })
74
+ }, TIMEOUT)
75
+
76
+ it('Fail vault card due invalid card', () => {
77
+ expect.assertions(3)
78
+ let settings = new Settings();
79
+ settings.setupSandbox();
80
+
81
+ let service: Tokenization = new Tokenization(settings);
82
+ let cardTokenization: CardTokenization = new CardTokenization();
83
+ cardTokenization.setCard(getCard('3111 2545 6985 4589'));
84
+ cardTokenization.setBilling(getBilling());
85
+
86
+ return service.vaultCard(cardTokenization).then( response => {
87
+ expect(response).toBeInstanceOf(InputErrorResponse);
88
+ expect(response.status).toBe(422);
89
+ expect(response.message).toBe("El campo number es un número de tarjeta incorrecto.");
90
+ })
91
+ }, TIMEOUT)
92
+
93
+ it('Succes vault card', () => {
94
+ expect.assertions(5)
95
+ let settings = new Settings();
96
+ settings.setupSandbox();
97
+
98
+ let service: Tokenization = new Tokenization(settings);
99
+ let cardTokenization: CardTokenization = new CardTokenization();
100
+ cardTokenization.setCard(getCard());
101
+ cardTokenization.setBilling(getBilling());
102
+
103
+ return service.vaultCard(cardTokenization).then( response => {
104
+ expect(response).toBeInstanceOf(SuccessResponse);
105
+ expect(response.success).toBe(true);
106
+ expect(response.status).toBe(200)
107
+ expect(response.getData("mask")).toBe("411111******1111")
108
+ let token: String = response.getData('token');
109
+ expect(token.substring(0,2)).toBe("T-")
110
+ })
111
+ }, TIMEOUT)
112
+
113
+ it('Fail show card info', () => {
114
+ expect.assertions(4)
115
+ let settings = new Settings();
116
+ settings.setupSandbox();
117
+
118
+ let service: Tokenization = new Tokenization(settings);
119
+ let cardTokenization: CardTokenization = new CardTokenization();
120
+ cardTokenization.setCard(getCard());
121
+ cardTokenization.setBilling(getBilling());
122
+
123
+ return service.showCard("T-1234-1234456").then( response => {
124
+ expect(response).toBeInstanceOf(ErrorResponse);
125
+ expect(response.status).toBe(400)
126
+ expect(response.success).toBe(false);
127
+ expect(response.message).toBe("El token no es valido o tiene un formato invalid");
128
+ });
129
+ }, TIMEOUT)
130
+
131
+ it('Succes show card info', async () => {
132
+ expect.assertions(4)
133
+ let settings = new Settings();
134
+ settings.setupSandbox();
135
+
136
+ let service: Tokenization = new Tokenization(settings);
137
+ let cardTokenization: CardTokenization = new CardTokenization();
138
+ cardTokenization.setCard(getCard());
139
+ cardTokenization.setBilling(getBilling());
140
+
141
+ let response: SuccessResponse = await service.vaultCard(cardTokenization)
142
+ let token = response.getData('token');
143
+
144
+ return service.showCard(token).then( response => {
145
+ expect(response).toBeInstanceOf(SuccessResponse);
146
+ expect(response.success).toBe(true);
147
+ expect(response.status).toBe(200)
148
+ expect(response.getData("mask")).toBe("411111******1111")
149
+ });
150
+ }, TIMEOUT)
151
+
152
+ it('Fail update card', () => {
153
+ expect.assertions(4)
154
+ let settings = new Settings();
155
+ settings.setupSandbox();
156
+
157
+ let service: Tokenization = new Tokenization(settings);
158
+ let cardTokenization: CardTokenization = new CardTokenization();
159
+ cardTokenization.setCard(getCard());
160
+ cardTokenization.setBilling(getBilling());
161
+
162
+ return service.updateCard('T-1234-123456-1234-123456', cardTokenization).then( response => {
163
+ expect(response).toBeInstanceOf(ErrorResponse);
164
+ expect(response.success).toBe(false);
165
+ expect(response.status).toBe(400)
166
+ expect(response.message).toBe("El token no es valido o tiene un formato invalid");
167
+ });
168
+ }, TIMEOUT)
169
+
170
+ it('Succes update card', async () => {
171
+ expect.assertions(4)
172
+ let settings = new Settings();
173
+ settings.setupSandbox();
174
+
175
+ let service: Tokenization = new Tokenization(settings);
176
+ let cardTokenization: CardTokenization = new CardTokenization();
177
+ cardTokenization.setCard(getCard());
178
+ cardTokenization.setBilling(getBilling());
179
+
180
+ let response: SuccessResponse = await service.vaultCard(cardTokenization)
181
+ let token = response.getData('token');
182
+
183
+ cardTokenization.setCard(getCard('5416454316599121'));
184
+ return service.updateCard(token, cardTokenization).then( response => {
185
+ expect(response).toBeInstanceOf(SuccessResponse);
186
+ expect(response.success).toBe(true);
187
+ expect(response.status).toBe(200)
188
+ expect(response.getData("mask")).toBe("541645******9121");
189
+ });
190
+ }, TIMEOUT)
191
+
192
+ it('Fail delete card', () => {
193
+ expect.assertions(4)
194
+ let settings = new Settings();
195
+ settings.setupSandbox();
196
+
197
+ let service: Tokenization = new Tokenization(settings);
198
+ let cardTokenization: CardTokenization = new CardTokenization();
199
+ cardTokenization.setCard(getCard());
200
+ cardTokenization.setBilling(getBilling());
201
+
202
+ return service.deleteCard("T-1234-123456-1234-123456").then( response => {
203
+ expect(response).toBeInstanceOf(ErrorResponse);
204
+ expect(response.success).toBe(false);
205
+ expect(response.status).toBe(400)
206
+ expect(response.message).toBe("El token no es valido o tiene un formato invalid");
207
+ });
208
+ }, TIMEOUT)
209
+
210
+ it('Succes delete card', async () => {
211
+ expect.assertions(4)
212
+ let settings = new Settings();
213
+ settings.setupSandbox();
214
+
215
+ let service: Tokenization = new Tokenization(settings);
216
+ let cardTokenization: CardTokenization = new CardTokenization();
217
+ cardTokenization.setCard(getCard());
218
+ cardTokenization.setBilling(getBilling());
219
+
220
+ let response: SuccessResponse = await service.vaultCard(cardTokenization)
221
+ let token = response.getData('token');
222
+
223
+ return service.deleteCard(token).then( response => {
224
+ expect(response).toBeInstanceOf(SuccessResponse);
225
+ expect(response.status).toBe(200)
226
+ expect(response.getData('deleted')).toBe(true);
227
+ expect(response.message).toBe("Información obtenida con exito");
228
+ });
229
+ }, TIMEOUT)