btrz-api-client 3.34.0 → 3.41.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 (247) hide show
  1. package/lib/client-standalone-min.js +1 -1
  2. package/lib/client.js +8 -5
  3. package/lib/endpoints/accounts/accounts.js +3 -2
  4. package/lib/endpoints/accounts/application-settings.js +15 -10
  5. package/lib/endpoints/accounts/application.js +3 -2
  6. package/lib/endpoints/accounts/applications.js +6 -4
  7. package/lib/endpoints/accounts/current-shifts.js +3 -2
  8. package/lib/endpoints/accounts/customers.js +15 -10
  9. package/lib/endpoints/accounts/domains.js +57 -0
  10. package/lib/endpoints/accounts/email-settings.js +15 -10
  11. package/lib/endpoints/accounts/exchange-rates.js +6 -4
  12. package/lib/endpoints/accounts/interline.js +27 -18
  13. package/lib/endpoints/accounts/lexicons.js +12 -8
  14. package/lib/endpoints/accounts/print-settings.js +12 -8
  15. package/lib/endpoints/accounts/printers.js +3 -2
  16. package/lib/endpoints/accounts/shifts.js +3 -2
  17. package/lib/endpoints/accounts/travellers.js +15 -10
  18. package/lib/endpoints/accounts/trusted-machines.js +3 -2
  19. package/lib/endpoints/accounts/users.js +6 -4
  20. package/lib/endpoints/btrzpay/customerCards.js +12 -8
  21. package/lib/endpoints/btrzpay/customers.js +9 -7
  22. package/lib/endpoints/btrzpay/payment-methods.js +18 -12
  23. package/lib/endpoints/btrzpay/payments.js +6 -4
  24. package/lib/endpoints/btrzpay/reference-numbers.js +3 -2
  25. package/lib/endpoints/btrzpay/referenced-payments.js +6 -4
  26. package/lib/endpoints/btrzpay/square.js +6 -4
  27. package/lib/endpoints/coltrane/paths.js +3 -2
  28. package/lib/endpoints/endpoints_helpers.js +28 -6
  29. package/lib/endpoints/gps/scanner-app-location.js +3 -2
  30. package/lib/endpoints/inventory/amenities.js +12 -8
  31. package/lib/endpoints/inventory/amenity-groups.js +12 -8
  32. package/lib/endpoints/inventory/bare-routes.js +6 -4
  33. package/lib/endpoints/inventory/brands.js +12 -8
  34. package/lib/endpoints/inventory/bundle-fares.js +3 -2
  35. package/lib/endpoints/inventory/bundles.js +6 -4
  36. package/lib/endpoints/inventory/companies.js +3 -2
  37. package/lib/endpoints/inventory/countries.js +3 -2
  38. package/lib/endpoints/inventory/custom-content.js +15 -10
  39. package/lib/endpoints/inventory/fare-classes.js +9 -6
  40. package/lib/endpoints/inventory/fares.js +6 -4
  41. package/lib/endpoints/inventory/fees.js +3 -2
  42. package/lib/endpoints/inventory/filtered-trips-v2.js +3 -2
  43. package/lib/endpoints/inventory/filtered-trips.js +3 -2
  44. package/lib/endpoints/inventory/gift-certificate-definitions.js +3 -2
  45. package/lib/endpoints/inventory/healthcheck.js +22 -0
  46. package/lib/endpoints/inventory/insurances.js +15 -10
  47. package/lib/endpoints/inventory/insurancesCost.js +3 -2
  48. package/lib/endpoints/inventory/items.js +3 -2
  49. package/lib/endpoints/inventory/journey-prices.js +9 -6
  50. package/lib/endpoints/inventory/marketplace-modifiers.js +15 -10
  51. package/lib/endpoints/inventory/operating-companies.js +12 -8
  52. package/lib/endpoints/inventory/operation-messages.js +18 -12
  53. package/lib/endpoints/inventory/parcel-zones.js +9 -6
  54. package/lib/endpoints/inventory/payment-terminals.js +15 -10
  55. package/lib/endpoints/inventory/products.js +6 -4
  56. package/lib/endpoints/inventory/promos.js +21 -14
  57. package/lib/endpoints/inventory/routes.js +21 -14
  58. package/lib/endpoints/inventory/schedules.js +3 -2
  59. package/lib/endpoints/inventory/seatfees.js +12 -8
  60. package/lib/endpoints/inventory/seatmaps.js +3 -2
  61. package/lib/endpoints/inventory/service-numbers.js +12 -8
  62. package/lib/endpoints/inventory/service-types.js +15 -10
  63. package/lib/endpoints/inventory/ssrs.js +3 -2
  64. package/lib/endpoints/inventory/station-groups.js +3 -2
  65. package/lib/endpoints/inventory/stations-zones.js +3 -2
  66. package/lib/endpoints/inventory/stations.js +6 -4
  67. package/lib/endpoints/inventory/taxes.js +12 -8
  68. package/lib/endpoints/inventory/traveller-card-providers-types.js +3 -2
  69. package/lib/endpoints/inventory/traveller-card-providers.js +12 -8
  70. package/lib/endpoints/inventory/traveller-card-types.js +15 -10
  71. package/lib/endpoints/inventory/trips.js +6 -4
  72. package/lib/endpoints/inventory/zone-price-overages.js +15 -10
  73. package/lib/endpoints/inventory/zone-prices.js +15 -10
  74. package/lib/endpoints/invoices/emails.js +3 -2
  75. package/lib/endpoints/invoices/infile.js +3 -2
  76. package/lib/endpoints/invoices/pdfs.js +3 -2
  77. package/lib/endpoints/invoices/providers.js +15 -10
  78. package/lib/endpoints/invoices/tax-ids.js +30 -0
  79. package/lib/endpoints/loyalty/movements.js +9 -6
  80. package/lib/endpoints/loyalty/programs.js +9 -6
  81. package/lib/endpoints/notifications/customers.js +3 -2
  82. package/lib/endpoints/notifications/email.js +3 -2
  83. package/lib/endpoints/notifications/manifest-notifications.js +7 -4
  84. package/lib/endpoints/notifications/printed-tickets.js +3 -2
  85. package/lib/endpoints/operations/accounting_items.js +8 -4
  86. package/lib/endpoints/operations/applied_insurance.js +3 -2
  87. package/lib/endpoints/operations/calendar_entries.js +3 -2
  88. package/lib/endpoints/operations/flexpasses.js +3 -2
  89. package/lib/endpoints/operations/loans.js +8 -4
  90. package/lib/endpoints/operations/manifest.js +58 -20
  91. package/lib/endpoints/operations/movements.js +3 -2
  92. package/lib/endpoints/operations/outlook-trips.js +3 -2
  93. package/lib/endpoints/operations/parcels.js +9 -6
  94. package/lib/endpoints/operations/redemption.js +6 -4
  95. package/lib/endpoints/operations/scheduled_notifications.js +15 -10
  96. package/lib/endpoints/operations/segments.js +3 -2
  97. package/lib/endpoints/operations/tickets.js +9 -6
  98. package/lib/endpoints/operations/transaction.js +3 -2
  99. package/lib/endpoints/operations/transactions.js +21 -14
  100. package/lib/endpoints/operations/trip_change_info.js +3 -2
  101. package/lib/endpoints/operations/waitlists.js +12 -9
  102. package/lib/endpoints/reports/custom-reports.js +9 -6
  103. package/lib/endpoints/reports/report-types.js +6 -4
  104. package/lib/endpoints/sales/bundles.js +3 -2
  105. package/lib/endpoints/sales/cart-promo.js +6 -4
  106. package/lib/endpoints/sales/cart.js +18 -12
  107. package/lib/endpoints/sales/custom-fields.js +3 -2
  108. package/lib/endpoints/sales/flexpasses.js +3 -2
  109. package/lib/endpoints/sales/gift-certificates.js +3 -2
  110. package/lib/endpoints/sales/order.js +6 -4
  111. package/lib/endpoints/sales/payment-providers.js +3 -2
  112. package/lib/endpoints/sales/redeemable-items.js +6 -4
  113. package/lib/endpoints/sales/sync-entry.js +3 -2
  114. package/lib/endpoints/sales/voucher.js +3 -2
  115. package/lib/endpoints/seatmaps/access-ticket.js +3 -2
  116. package/lib/endpoints/seatmaps/seat.js +3 -2
  117. package/lib/endpoints/uploads/files.js +3 -2
  118. package/lib/endpoints/uploads/images.js +3 -2
  119. package/lib/endpoints/webhooks/events.js +3 -2
  120. package/lib/endpoints/webhooks/subscriptions.js +15 -10
  121. package/lib/endpoints/webhooks/undelivered.js +15 -10
  122. package/lib/endpoints/webhooks/webhooks.js +3 -2
  123. package/package.json +1 -1
  124. package/src/client.js +8 -5
  125. package/src/endpoints/accounts/accounts.js +2 -2
  126. package/src/endpoints/accounts/application-settings.js +10 -10
  127. package/src/endpoints/accounts/application.js +2 -2
  128. package/src/endpoints/accounts/applications.js +4 -4
  129. package/src/endpoints/accounts/current-shifts.js +2 -2
  130. package/src/endpoints/accounts/customers.js +10 -10
  131. package/src/endpoints/accounts/domains.js +38 -0
  132. package/src/endpoints/accounts/email-settings.js +10 -10
  133. package/src/endpoints/accounts/exchange-rates.js +4 -4
  134. package/src/endpoints/accounts/interline.js +18 -18
  135. package/src/endpoints/accounts/lexicons.js +12 -8
  136. package/src/endpoints/accounts/print-settings.js +8 -8
  137. package/src/endpoints/accounts/printers.js +2 -2
  138. package/src/endpoints/accounts/shifts.js +2 -2
  139. package/src/endpoints/accounts/travellers.js +10 -10
  140. package/src/endpoints/accounts/trusted-machines.js +2 -2
  141. package/src/endpoints/accounts/users.js +4 -4
  142. package/src/endpoints/btrzpay/customerCards.js +8 -8
  143. package/src/endpoints/btrzpay/customers.js +6 -7
  144. package/src/endpoints/btrzpay/payment-methods.js +12 -12
  145. package/src/endpoints/btrzpay/payments.js +4 -4
  146. package/src/endpoints/btrzpay/reference-numbers.js +2 -2
  147. package/src/endpoints/btrzpay/referenced-payments.js +4 -4
  148. package/src/endpoints/btrzpay/square.js +4 -4
  149. package/src/endpoints/coltrane/paths.js +2 -2
  150. package/src/endpoints/endpoints_helpers.js +25 -6
  151. package/src/endpoints/gps/scanner-app-location.js +2 -2
  152. package/src/endpoints/inventory/amenities.js +8 -8
  153. package/src/endpoints/inventory/amenity-groups.js +8 -8
  154. package/src/endpoints/inventory/bare-routes.js +4 -4
  155. package/src/endpoints/inventory/brands.js +8 -8
  156. package/src/endpoints/inventory/bundle-fares.js +2 -2
  157. package/src/endpoints/inventory/bundles.js +4 -4
  158. package/src/endpoints/inventory/companies.js +2 -2
  159. package/src/endpoints/inventory/countries.js +2 -2
  160. package/src/endpoints/inventory/custom-content.js +11 -10
  161. package/src/endpoints/inventory/fare-classes.js +6 -6
  162. package/src/endpoints/inventory/fares.js +4 -4
  163. package/src/endpoints/inventory/fees.js +2 -2
  164. package/src/endpoints/inventory/filtered-trips-v2.js +2 -2
  165. package/src/endpoints/inventory/filtered-trips.js +2 -2
  166. package/src/endpoints/inventory/gift-certificate-definitions.js +2 -2
  167. package/src/endpoints/inventory/healthcheck.js +16 -0
  168. package/src/endpoints/inventory/insurances.js +10 -10
  169. package/src/endpoints/inventory/insurancesCost.js +2 -2
  170. package/src/endpoints/inventory/items.js +2 -2
  171. package/src/endpoints/inventory/journey-prices.js +6 -6
  172. package/src/endpoints/inventory/marketplace-modifiers.js +11 -10
  173. package/src/endpoints/inventory/operating-companies.js +8 -8
  174. package/src/endpoints/inventory/operation-messages.js +12 -12
  175. package/src/endpoints/inventory/parcel-zones.js +6 -6
  176. package/src/endpoints/inventory/payment-terminals.js +11 -10
  177. package/src/endpoints/inventory/products.js +4 -4
  178. package/src/endpoints/inventory/promos.js +14 -14
  179. package/src/endpoints/inventory/routes.js +14 -14
  180. package/src/endpoints/inventory/schedules.js +2 -2
  181. package/src/endpoints/inventory/seatfees.js +9 -8
  182. package/src/endpoints/inventory/seatmaps.js +2 -2
  183. package/src/endpoints/inventory/service-numbers.js +8 -8
  184. package/src/endpoints/inventory/service-types.js +11 -10
  185. package/src/endpoints/inventory/ssrs.js +2 -2
  186. package/src/endpoints/inventory/station-groups.js +2 -2
  187. package/src/endpoints/inventory/stations-zones.js +2 -2
  188. package/src/endpoints/inventory/stations.js +4 -4
  189. package/src/endpoints/inventory/taxes.js +8 -8
  190. package/src/endpoints/inventory/traveller-card-providers-types.js +2 -2
  191. package/src/endpoints/inventory/traveller-card-providers.js +8 -8
  192. package/src/endpoints/inventory/traveller-card-types.js +10 -10
  193. package/src/endpoints/inventory/trips.js +4 -4
  194. package/src/endpoints/inventory/zone-price-overages.js +11 -10
  195. package/src/endpoints/inventory/zone-prices.js +11 -10
  196. package/src/endpoints/invoices/emails.js +2 -2
  197. package/src/endpoints/invoices/infile.js +2 -2
  198. package/src/endpoints/invoices/pdfs.js +2 -2
  199. package/src/endpoints/invoices/providers.js +10 -10
  200. package/src/endpoints/invoices/tax-ids.js +18 -0
  201. package/src/endpoints/loyalty/movements.js +6 -6
  202. package/src/endpoints/loyalty/programs.js +6 -6
  203. package/src/endpoints/notifications/customers.js +2 -2
  204. package/src/endpoints/notifications/email.js +2 -2
  205. package/src/endpoints/notifications/manifest-notifications.js +6 -4
  206. package/src/endpoints/notifications/printed-tickets.js +2 -2
  207. package/src/endpoints/operations/accounting_items.js +7 -4
  208. package/src/endpoints/operations/applied_insurance.js +2 -2
  209. package/src/endpoints/operations/calendar_entries.js +2 -2
  210. package/src/endpoints/operations/flexpasses.js +2 -2
  211. package/src/endpoints/operations/loans.js +7 -4
  212. package/src/endpoints/operations/manifest.js +62 -22
  213. package/src/endpoints/operations/movements.js +2 -2
  214. package/src/endpoints/operations/outlook-trips.js +2 -2
  215. package/src/endpoints/operations/parcels.js +6 -6
  216. package/src/endpoints/operations/redemption.js +4 -4
  217. package/src/endpoints/operations/scheduled_notifications.js +10 -10
  218. package/src/endpoints/operations/segments.js +2 -2
  219. package/src/endpoints/operations/tickets.js +6 -6
  220. package/src/endpoints/operations/transaction.js +2 -2
  221. package/src/endpoints/operations/transactions.js +14 -14
  222. package/src/endpoints/operations/trip_change_info.js +2 -2
  223. package/src/endpoints/operations/waitlists.js +8 -9
  224. package/src/endpoints/reports/custom-reports.js +6 -6
  225. package/src/endpoints/reports/report-types.js +4 -4
  226. package/src/endpoints/sales/bundles.js +2 -2
  227. package/src/endpoints/sales/cart-promo.js +4 -4
  228. package/src/endpoints/sales/cart.js +12 -12
  229. package/src/endpoints/sales/custom-fields.js +2 -2
  230. package/src/endpoints/sales/flexpasses.js +2 -2
  231. package/src/endpoints/sales/gift-certificates.js +2 -2
  232. package/src/endpoints/sales/order.js +4 -4
  233. package/src/endpoints/sales/payment-providers.js +2 -2
  234. package/src/endpoints/sales/redeemable-items.js +4 -4
  235. package/src/endpoints/sales/sync-entry.js +2 -2
  236. package/src/endpoints/sales/voucher.js +2 -2
  237. package/src/endpoints/seatmaps/access-ticket.js +2 -2
  238. package/src/endpoints/seatmaps/seat.js +2 -2
  239. package/src/endpoints/uploads/files.js +2 -2
  240. package/src/endpoints/uploads/images.js +2 -2
  241. package/src/endpoints/webhooks/events.js +2 -2
  242. package/src/endpoints/webhooks/subscriptions.js +10 -10
  243. package/src/endpoints/webhooks/undelivered.js +10 -10
  244. package/src/endpoints/webhooks/webhooks.js +2 -2
  245. package/test/endpoints/accounts/domains.test.js +61 -0
  246. package/test/endpoints/endpoints_helpers.test.js +54 -0
  247. package/test/endpoints/operations/manifest.test.js +66 -17
@@ -2,47 +2,47 @@ const { authorizationHeaders } = require("./../endpoints_helpers");
2
2
 
3
3
  function subscriptionsFactory({ client, internalAuthTokenProvider }) {
4
4
 
5
- function all({ token, jwtToken, context, query = {} }) {
5
+ function all({ token, jwtToken, context, query = {}, headers }) {
6
6
  const queryObj = Object.assign({}, query, { context });
7
7
 
8
8
  return client({
9
9
  url: "/subscriptions",
10
10
  params: queryObj,
11
- headers: authorizationHeaders({ token, jwtToken, internalAuthTokenProvider })
11
+ headers: authorizationHeaders({ token, jwtToken, internalAuthTokenProvider, headers })
12
12
  });
13
13
  }
14
14
 
15
- function getById({ token, jwtToken, id }) {
15
+ function getById({ token, jwtToken, id, headers }) {
16
16
  return client({
17
17
  url: `/subscriptions/${id}`,
18
18
  method: "get",
19
- headers: authorizationHeaders({ token, jwtToken, internalAuthTokenProvider })
19
+ headers: authorizationHeaders({ token, jwtToken, internalAuthTokenProvider, headers })
20
20
  });
21
21
  }
22
22
 
23
- function create({ token, jwtToken, subscription }) {
23
+ function create({ token, jwtToken, subscription, headers }) {
24
24
  return client({
25
25
  url: "/subscriptions",
26
26
  method: "post",
27
- headers: authorizationHeaders({ token, jwtToken, internalAuthTokenProvider }),
27
+ headers: authorizationHeaders({ token, jwtToken, internalAuthTokenProvider, headers }),
28
28
  data: subscription
29
29
  });
30
30
  }
31
31
 
32
- function put({ token, jwtToken, id, subscription }) {
32
+ function put({ token, jwtToken, id, subscription, headers }) {
33
33
  return client({
34
34
  url: `/subscriptions/${id}`,
35
35
  method: "put",
36
- headers: authorizationHeaders({ token, jwtToken, internalAuthTokenProvider }),
36
+ headers: authorizationHeaders({ token, jwtToken, internalAuthTokenProvider, headers }),
37
37
  data: subscription
38
38
  });
39
39
  }
40
40
 
41
- function deleteById({ token, jwtToken, id }) {
41
+ function deleteById({ token, jwtToken, id, headers }) {
42
42
  return client({
43
43
  url: `/subscriptions/${id}`,
44
44
  method: "delete",
45
- headers: authorizationHeaders({ token, jwtToken, internalAuthTokenProvider }),
45
+ headers: authorizationHeaders({ token, jwtToken, internalAuthTokenProvider, headers }),
46
46
  });
47
47
  }
48
48
 
@@ -2,46 +2,46 @@ const { authorizationHeaders } = require("./../endpoints_helpers");
2
2
 
3
3
  function undeliveredFactory({ client, internalAuthTokenProvider }) {
4
4
 
5
- function all({ token, jwtToken, context, query = {} }) {
5
+ function all({ token, jwtToken, context, query = {}, headers }) {
6
6
  const queryObj = Object.assign({}, query, { context });
7
7
 
8
8
  return client({
9
9
  url: "/undelivered",
10
10
  params: queryObj,
11
- headers: authorizationHeaders({ token, jwtToken, internalAuthTokenProvider })
11
+ headers: authorizationHeaders({ token, jwtToken, internalAuthTokenProvider, headers })
12
12
  });
13
13
  }
14
14
 
15
- function getById({ token, jwtToken, id }) {
15
+ function getById({ token, jwtToken, id, headers }) {
16
16
  return client({
17
17
  url: `/undelivered/${id}`,
18
18
  method: "get",
19
- headers: authorizationHeaders({ token, jwtToken, internalAuthTokenProvider })
19
+ headers: authorizationHeaders({ token, jwtToken, internalAuthTokenProvider, headers })
20
20
  });
21
21
  }
22
22
 
23
- function patch({ token, jwtToken, operation }) {
23
+ function patch({ token, jwtToken, operation, headers }) {
24
24
  return client({
25
25
  url: "/undelivered",
26
26
  method: "patch",
27
- headers: authorizationHeaders({ token, jwtToken, internalAuthTokenProvider }),
27
+ headers: authorizationHeaders({ token, jwtToken, internalAuthTokenProvider, headers }),
28
28
  data: operation
29
29
  });
30
30
  }
31
31
 
32
- function resend({ token, jwtToken, id }) {
32
+ function resend({ token, jwtToken, id, headers }) {
33
33
  return client({
34
34
  url: `/undelivered/${id}/retry`,
35
35
  method: "put",
36
- headers: authorizationHeaders({ token, jwtToken, internalAuthTokenProvider })
36
+ headers: authorizationHeaders({ token, jwtToken, internalAuthTokenProvider, headers })
37
37
  });
38
38
  }
39
39
 
40
- function resendAll({ token, jwtToken }) {
40
+ function resendAll({ token, jwtToken, headers }) {
41
41
  return client({
42
42
  url: `/undelivered/retry-all`,
43
43
  method: "put",
44
- headers: authorizationHeaders({ token, jwtToken, internalAuthTokenProvider })
44
+ headers: authorizationHeaders({ token, jwtToken, internalAuthTokenProvider, headers })
45
45
  });
46
46
  }
47
47
 
@@ -2,11 +2,11 @@ const { authorizationHeaders } = require("./../endpoints_helpers");
2
2
 
3
3
  function webhooksFactory({ client, internalAuthTokenProvider }) {
4
4
 
5
- function emit({ token, jwtToken, webhook }) {
5
+ function emit({ token, jwtToken, webhook, headers }) {
6
6
  return client({
7
7
  url: "/emit",
8
8
  method: "post",
9
- headers: authorizationHeaders({ token, jwtToken, internalAuthTokenProvider }),
9
+ headers: authorizationHeaders({ token, jwtToken, internalAuthTokenProvider, headers }),
10
10
  data: webhook
11
11
  });
12
12
  }
@@ -0,0 +1,61 @@
1
+ const {axiosMock, expectRequest} = require("../../test-helpers");
2
+ const api = require("../../../src/client").createApiClient({baseURL: "http://test.com"});
3
+ const {
4
+ expect
5
+ } = require("chai");
6
+
7
+ describe("accounts/domains", () => {
8
+ const token = "I owe you a token";
9
+ const jwtToken = "I owe you a JWT token";
10
+
11
+ afterEach(() => {
12
+ axiosMock.reset();
13
+ });
14
+
15
+ it("should GET a list of domains", () => {
16
+ axiosMock.onGet("/domains").reply(expectRequest({
17
+ statusCode: 200,
18
+ token
19
+ }));
20
+ return api.accounts.domains.all({
21
+ token
22
+ }).then((httpResponse) => {
23
+ expect(httpResponse.status).eql(200);
24
+ });
25
+ });
26
+
27
+ it("should POST a new domains", () => {
28
+ const data = {
29
+ domain: "example1"
30
+ };
31
+ axiosMock.onPost("/domains").reply(expectRequest({
32
+ statusCode: 200,
33
+ token,
34
+ jwtToken
35
+ }));
36
+ return api.accounts.domains.create({
37
+ token,
38
+ jwtToken,
39
+ data
40
+ }).then((httpResponse) => {
41
+ expect(httpResponse.status).eql(200);
42
+ });
43
+ });
44
+
45
+ it("should DELETE a domain", () => {
46
+ const domain = "example1";
47
+
48
+ axiosMock.onDelete(`/domains/${domain}`).reply(expectRequest({
49
+ statusCode: 204,
50
+ token,
51
+ jwtToken
52
+ }));
53
+ return api.accounts.domains.remove({
54
+ domain,
55
+ token,
56
+ jwtToken
57
+ }).then((httpResponse) => {
58
+ expect(httpResponse.status).eql(204);
59
+ });
60
+ });
61
+ });
@@ -56,5 +56,59 @@ describe("endpoints helpers", () => {
56
56
  "x-api-key": token
57
57
  });
58
58
  });
59
+
60
+ describe("specifing new headers with an object", () => {
61
+ it("should not override the provided 'token' in the 'x-api-key' field when provided in the headers object", () => {
62
+ const token = "E7excc6eXRKarIONB2gA";
63
+ const newHeaders = {
64
+ "test-header": "123",
65
+ "x-api-key": "overwritten?"
66
+ };
67
+
68
+ const headers = authorizationHeaders({token, headers: newHeaders});
69
+
70
+ expect(headers).to.deep.equal({
71
+ "x-api-key": token,
72
+ "test-header": "123"
73
+ });
74
+ });
75
+
76
+ it("should add the arbitrary headers passed by argument", () => {
77
+ const newHeaders = {
78
+ "test-header": "123",
79
+ "x-amzn-trace-id": "25342352"
80
+ };
81
+
82
+ const headers = authorizationHeaders({headers: newHeaders});
83
+
84
+ expect(headers).to.deep.equal({
85
+ "test-header": "123",
86
+ "x-amzn-trace-id": "25342352"
87
+ });
88
+ });
89
+
90
+ it("should not add anything if headers is not an object", () => {
91
+ const token = "E7excc6eXRKarIONB2gA";
92
+ const headers = authorizationHeaders({token, headers: 123});
93
+
94
+ expect(headers).to.deep.equal({
95
+ "x-api-key": token
96
+ });
97
+ });
98
+
99
+ it("should ignore x-amzn-trace-id if empty", () => {
100
+ const newHeaders = {
101
+ "test-header": "123",
102
+ "x-amzn-trace-id": ""
103
+ };
104
+
105
+ const headers = authorizationHeaders({headers: newHeaders});
106
+
107
+ expect(headers).to.not.haveOwnProperty("x-amzn-trace-id");
108
+ expect(headers).to.deep.equal({
109
+ "test-header": "123"
110
+ });
111
+ });
112
+ });
59
113
  });
60
114
  });
@@ -1,11 +1,15 @@
1
1
  const {expect} = require("chai");
2
- const { axiosMock, expectRequest } = require("./../../test-helpers"),
3
- api = require("./../../../src/client").createApiClient({ baseURL: "http://test.com" });
2
+ const {
3
+ axiosMock, expectRequest
4
+ } = require("./../../test-helpers.js");
5
+ const api = require("./../../../src/client.js").createApiClient({
6
+ baseURL: "http://test.com"
7
+ });
4
8
 
5
9
  describe("operations/manifest", () => {
6
- const token = "I owe you a token",
7
- jwtToken = "I owe you a JWT token",
8
- providerId = "providerId";
10
+ const token = "I owe you a token";
11
+ const jwtToken = "I owe you a JWT token";
12
+ const providerId = "providerId";
9
13
 
10
14
  afterEach(() => {
11
15
  axiosMock.reset();
@@ -18,14 +22,22 @@ describe("operations/manifest", () => {
18
22
  scheduleId: "abc",
19
23
  date: "2017-10-10"
20
24
  };
21
- axiosMock.onGet("/manifests").reply(expectRequest({ statusCode: 200, token }));
22
- return api.operations.manifest.get({ token, jwtToken, query });
25
+ axiosMock.onGet("/manifests").reply(expectRequest({
26
+ statusCode: 200, token
27
+ }));
28
+ return api.operations.manifest.get({
29
+ token, jwtToken, query
30
+ });
23
31
  });
24
32
 
25
33
  it("should get a manifest by manifestId", () => {
26
34
  const manifestId = "manifestId";
27
- axiosMock.onGet(`/manifests/${manifestId}`).reply(expectRequest({ statusCode: 200, token }));
28
- return api.operations.manifest.getById({ token, jwtToken, manifestId });
35
+ axiosMock.onGet(`/manifests/${manifestId}`).reply(expectRequest({
36
+ statusCode: 200, token
37
+ }));
38
+ return api.operations.manifest.getById({
39
+ token, jwtToken, manifestId
40
+ });
29
41
  });
30
42
 
31
43
  it("should get many manifests", () => {
@@ -46,13 +58,21 @@ describe("operations/manifest", () => {
46
58
  productId: "productId",
47
59
  date: "2018-01-01"
48
60
  };
49
- axiosMock.onGet("/outlook-manifests").reply(expectRequest({ statusCode: 200, token, jwtToken }));
50
- return api.operations.manifest.outlook({ token, jwtToken, query });
61
+ axiosMock.onGet("/outlook-manifests").reply(expectRequest({
62
+ statusCode: 200, token, jwtToken
63
+ }));
64
+ return api.operations.manifest.outlook({
65
+ token, jwtToken, query
66
+ });
51
67
  });
52
68
 
53
69
  it("should patch a manifest", () => {
54
- axiosMock.onPatch("/manifests").reply(expectRequest({ statusCode: 200, token, jwtToken }));
55
- return api.operations.manifest.patch({ token, jwtToken, query: {providerId}, operations: {op: "add_tickets", tickets: []} });
70
+ axiosMock.onPatch("/manifests").reply(expectRequest({
71
+ statusCode: 200, token, jwtToken
72
+ }));
73
+ return api.operations.manifest.patch({
74
+ token, jwtToken, query: {providerId}, operations: {op: "add_tickets", tickets: []}
75
+ });
56
76
  });
57
77
 
58
78
  it("should save a manifest", () => {
@@ -61,8 +81,33 @@ describe("operations/manifest", () => {
61
81
  comments: "This is a comment!",
62
82
  capacity: 22
63
83
  };
64
- axiosMock.onPut("/manifests").reply(expectRequest({ statusCode: 200, token, jwtToken }));
65
- return api.operations.manifest.save({ token, jwtToken, providerId, data });
84
+ axiosMock.onPut("/manifests").reply(expectRequest({
85
+ statusCode: 200, token, jwtToken
86
+ }));
87
+ return api.operations.manifest.save({
88
+ token, jwtToken, providerId, data
89
+ });
90
+ });
91
+
92
+ it("should add comment to the manifest", async () => {
93
+ const manifestId = "theId";
94
+ const data = {
95
+ comment: {
96
+ test: "The comment"
97
+ }
98
+ };
99
+
100
+ // optional query
101
+ const query = {
102
+ accountId: providerId,
103
+ routeId: "2349283409238429348",
104
+ scheduleId: "abc",
105
+ date: "2017-10-10"
106
+ };
107
+ axiosMock.onPut(`/manifests/${manifestId}/comments`).reply(expectRequest({statusCode: 201, token, jwtToken}));
108
+ const call = await api.operations.manifest.updateComment({token, jwtToken, manifestId, data, query});
109
+ expect(call.config.params).to.be.eql(query);
110
+ return call;
66
111
  });
67
112
 
68
113
  it("should add user to the manifest", async () => {
@@ -90,7 +135,11 @@ describe("operations/manifest", () => {
90
135
  const manifestId = "theId";
91
136
  const userId = "theUserId";
92
137
 
93
- axiosMock.onDelete(`/manifests/${manifestId}/users/${userId}`).reply(expectRequest({ statusCode: 201, token, jwtToken }));
94
- return api.operations.manifest.removeUser({ token, jwtToken, manifestId, userId });
138
+ axiosMock.onDelete(`/manifests/${manifestId}/users/${userId}`).reply(expectRequest({
139
+ statusCode: 201, token, jwtToken
140
+ }));
141
+ return api.operations.manifest.removeUser({
142
+ token, jwtToken, manifestId, userId
143
+ });
95
144
  });
96
145
  });