@apideck/unify 0.22.1 → 0.23.1

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 (299) hide show
  1. package/docs/sdks/connections/README.md +2 -6
  2. package/docs/sdks/connectionsettings/README.md +2 -6
  3. package/docs/sdks/employees/README.md +4 -0
  4. package/jsr.json +1 -1
  5. package/lib/config.d.ts +4 -4
  6. package/lib/config.js +4 -4
  7. package/lib/matchers.d.ts +3 -1
  8. package/lib/matchers.d.ts.map +1 -1
  9. package/lib/matchers.js +12 -0
  10. package/lib/matchers.js.map +1 -1
  11. package/lib/sdks.js +7 -2
  12. package/lib/sdks.js.map +1 -1
  13. package/models/components/accountingdepartment.d.ts +10 -0
  14. package/models/components/accountingdepartment.d.ts.map +1 -1
  15. package/models/components/accountingdepartment.js +4 -0
  16. package/models/components/accountingdepartment.js.map +1 -1
  17. package/models/components/{billinput.d.ts → bill.d.ts} +75 -75
  18. package/models/components/bill.d.ts.map +1 -0
  19. package/models/components/{billinput.js → bill.js} +70 -70
  20. package/models/components/bill.js.map +1 -0
  21. package/models/components/{billlineiteminput.d.ts → billlineitem.d.ts} +59 -59
  22. package/models/components/billlineitem.d.ts.map +1 -0
  23. package/models/components/{billlineiteminput.js → billlineitem.js} +56 -56
  24. package/models/components/billlineitem.js.map +1 -0
  25. package/models/components/{billpaymentinput.d.ts → billpayment.d.ts} +102 -102
  26. package/models/components/billpayment.d.ts.map +1 -0
  27. package/models/components/{billpaymentinput.js → billpayment.js} +100 -100
  28. package/models/components/billpayment.js.map +1 -0
  29. package/models/components/{companyinput.d.ts → company.d.ts} +77 -77
  30. package/models/components/company.d.ts.map +1 -0
  31. package/models/components/{companyinput.js → company.js} +67 -67
  32. package/models/components/company.js.map +1 -0
  33. package/models/components/{connectioninput.d.ts → connection.d.ts} +139 -139
  34. package/models/components/connection.d.ts.map +1 -0
  35. package/models/components/{connectioninput.js → connection.js} +150 -150
  36. package/models/components/connection.js.map +1 -0
  37. package/models/components/createconnectionresponse.d.ts +1 -1
  38. package/models/components/createconnectionresponse.d.ts.map +1 -1
  39. package/models/components/createconnectionresponse.js +3 -3
  40. package/models/components/createconnectionresponse.js.map +1 -1
  41. package/models/components/creditnote.d.ts +1 -1
  42. package/models/components/creditnote.d.ts.map +1 -1
  43. package/models/components/creditnote.js +5 -5
  44. package/models/components/creditnote.js.map +1 -1
  45. package/models/components/{employeeinput.d.ts → employee.d.ts} +69 -69
  46. package/models/components/employee.d.ts.map +1 -0
  47. package/models/components/{employeeinput.js → employee.js} +66 -66
  48. package/models/components/employee.js.map +1 -0
  49. package/models/components/employeeschedules.d.ts +1 -1
  50. package/models/components/employeeschedules.d.ts.map +1 -1
  51. package/models/components/employeeschedules.js +3 -3
  52. package/models/components/employeeschedules.js.map +1 -1
  53. package/models/components/employeesfilter.d.ts +5 -0
  54. package/models/components/employeesfilter.d.ts.map +1 -1
  55. package/models/components/employeesfilter.js +2 -0
  56. package/models/components/employeesfilter.js.map +1 -1
  57. package/models/components/getbillpaymentresponse.d.ts +1 -1
  58. package/models/components/getbillpaymentresponse.d.ts.map +1 -1
  59. package/models/components/getbillpaymentresponse.js +3 -3
  60. package/models/components/getbillpaymentresponse.js.map +1 -1
  61. package/models/components/getbillpaymentsresponse.d.ts +1 -1
  62. package/models/components/getbillpaymentsresponse.d.ts.map +1 -1
  63. package/models/components/getbillpaymentsresponse.js +3 -3
  64. package/models/components/getbillpaymentsresponse.js.map +1 -1
  65. package/models/components/getbillresponse.d.ts +1 -1
  66. package/models/components/getbillresponse.d.ts.map +1 -1
  67. package/models/components/getbillresponse.js +3 -3
  68. package/models/components/getbillresponse.js.map +1 -1
  69. package/models/components/getbillsresponse.d.ts +1 -1
  70. package/models/components/getbillsresponse.d.ts.map +1 -1
  71. package/models/components/getbillsresponse.js +3 -3
  72. package/models/components/getbillsresponse.js.map +1 -1
  73. package/models/components/getcompaniesresponse.d.ts +1 -1
  74. package/models/components/getcompaniesresponse.d.ts.map +1 -1
  75. package/models/components/getcompaniesresponse.js +3 -3
  76. package/models/components/getcompaniesresponse.js.map +1 -1
  77. package/models/components/getcompanyresponse.d.ts +1 -1
  78. package/models/components/getcompanyresponse.d.ts.map +1 -1
  79. package/models/components/getcompanyresponse.js +3 -3
  80. package/models/components/getcompanyresponse.js.map +1 -1
  81. package/models/components/getconnectionresponse.d.ts +1 -1
  82. package/models/components/getconnectionresponse.d.ts.map +1 -1
  83. package/models/components/getconnectionresponse.js +3 -3
  84. package/models/components/getconnectionresponse.js.map +1 -1
  85. package/models/components/getconnectionsresponse.d.ts +1 -1
  86. package/models/components/getconnectionsresponse.d.ts.map +1 -1
  87. package/models/components/getconnectionsresponse.js +3 -3
  88. package/models/components/getconnectionsresponse.js.map +1 -1
  89. package/models/components/getemployeeresponse.d.ts +1 -1
  90. package/models/components/getemployeeresponse.d.ts.map +1 -1
  91. package/models/components/getemployeeresponse.js +3 -3
  92. package/models/components/getemployeeresponse.js.map +1 -1
  93. package/models/components/getemployeesresponse.d.ts +1 -1
  94. package/models/components/getemployeesresponse.d.ts.map +1 -1
  95. package/models/components/getemployeesresponse.js +3 -3
  96. package/models/components/getemployeesresponse.js.map +1 -1
  97. package/models/components/getmessageresponse.d.ts +1 -1
  98. package/models/components/getmessageresponse.d.ts.map +1 -1
  99. package/models/components/getmessageresponse.js +3 -3
  100. package/models/components/getmessageresponse.js.map +1 -1
  101. package/models/components/getmessagesresponse.d.ts +1 -1
  102. package/models/components/getmessagesresponse.d.ts.map +1 -1
  103. package/models/components/getmessagesresponse.js +3 -3
  104. package/models/components/getmessagesresponse.js.map +1 -1
  105. package/models/components/getticketresponse.d.ts +1 -1
  106. package/models/components/getticketresponse.d.ts.map +1 -1
  107. package/models/components/getticketresponse.js +3 -3
  108. package/models/components/getticketresponse.js.map +1 -1
  109. package/models/components/getticketsresponse.d.ts +1 -1
  110. package/models/components/getticketsresponse.d.ts.map +1 -1
  111. package/models/components/getticketsresponse.js +3 -3
  112. package/models/components/getticketsresponse.js.map +1 -1
  113. package/models/components/gettrackingcategoriesresponse.d.ts +1 -1
  114. package/models/components/gettrackingcategoriesresponse.d.ts.map +1 -1
  115. package/models/components/gettrackingcategoriesresponse.js +3 -3
  116. package/models/components/gettrackingcategoriesresponse.js.map +1 -1
  117. package/models/components/gettrackingcategoryresponse.d.ts +1 -1
  118. package/models/components/gettrackingcategoryresponse.d.ts.map +1 -1
  119. package/models/components/gettrackingcategoryresponse.js +3 -3
  120. package/models/components/gettrackingcategoryresponse.js.map +1 -1
  121. package/models/components/index.d.ts +10 -10
  122. package/models/components/index.d.ts.map +1 -1
  123. package/models/components/index.js +10 -10
  124. package/models/components/index.js.map +1 -1
  125. package/models/components/invoice.d.ts +1 -1
  126. package/models/components/invoice.d.ts.map +1 -1
  127. package/models/components/invoice.js +5 -5
  128. package/models/components/invoice.js.map +1 -1
  129. package/models/components/{invoicelineiteminput.d.ts → invoicelineitem.d.ts} +58 -55
  130. package/models/components/invoicelineitem.d.ts.map +1 -0
  131. package/models/components/{invoicelineiteminput.js → invoicelineitem.js} +55 -54
  132. package/models/components/invoicelineitem.js.map +1 -0
  133. package/models/components/{messageinput.d.ts → message.d.ts} +71 -71
  134. package/models/components/message.d.ts.map +1 -0
  135. package/models/components/{messageinput.js → message.js} +61 -61
  136. package/models/components/message.js.map +1 -0
  137. package/models/components/note.d.ts +5 -0
  138. package/models/components/note.d.ts.map +1 -1
  139. package/models/components/note.js +4 -0
  140. package/models/components/note.js.map +1 -1
  141. package/models/components/noteinput.d.ts +5 -0
  142. package/models/components/noteinput.d.ts.map +1 -1
  143. package/models/components/noteinput.js +4 -0
  144. package/models/components/noteinput.js.map +1 -1
  145. package/models/components/purchaseorder.d.ts +1 -1
  146. package/models/components/purchaseorder.d.ts.map +1 -1
  147. package/models/components/purchaseorder.js +5 -5
  148. package/models/components/purchaseorder.js.map +1 -1
  149. package/models/components/{ticketinput.d.ts → ticket.d.ts} +66 -66
  150. package/models/components/ticket.d.ts.map +1 -0
  151. package/models/components/{ticketinput.js → ticket.js} +59 -59
  152. package/models/components/ticket.js.map +1 -0
  153. package/models/components/{trackingcategoryinput.d.ts → trackingcategory.d.ts} +55 -55
  154. package/models/components/trackingcategory.d.ts.map +1 -0
  155. package/models/components/{trackingcategoryinput.js → trackingcategory.js} +52 -52
  156. package/models/components/trackingcategory.js.map +1 -0
  157. package/models/components/updateconnectionresponse.d.ts +1 -1
  158. package/models/components/updateconnectionresponse.d.ts.map +1 -1
  159. package/models/components/updateconnectionresponse.js +3 -3
  160. package/models/components/updateconnectionresponse.js.map +1 -1
  161. package/package.json +5 -1
  162. package/src/__tests__/activities.test.ts +783 -0
  163. package/src/__tests__/agedcreditors.test.ts +279 -0
  164. package/src/__tests__/ageddebtors.test.ts +279 -0
  165. package/src/__tests__/apideckcompanies.test.ts +712 -0
  166. package/src/__tests__/apideckcustomers.test.ts +360 -0
  167. package/src/__tests__/apideckdepartments.test.ts +319 -0
  168. package/src/__tests__/apiresources.test.ts +61 -0
  169. package/src/__tests__/apis.test.ts +214 -0
  170. package/src/__tests__/applicants.test.ts +976 -0
  171. package/src/__tests__/applications.test.ts +329 -0
  172. package/src/__tests__/assertions.ts +13 -0
  173. package/src/__tests__/attachments.test.ts +363 -0
  174. package/src/__tests__/balancesheet.test.ts +451 -0
  175. package/src/__tests__/billpayments.test.ts +666 -0
  176. package/src/__tests__/bills.test.ts +1133 -0
  177. package/src/__tests__/collections.test.ts +115 -0
  178. package/src/__tests__/collectiontags.test.ts +66 -0
  179. package/src/__tests__/collectionticketcomments.test.ts +318 -0
  180. package/src/__tests__/collectiontickets.test.ts +436 -0
  181. package/src/__tests__/collectionusers.test.ts +122 -0
  182. package/src/__tests__/companies.test.ts +1059 -0
  183. package/src/__tests__/companyinfo.test.ts +218 -0
  184. package/src/__tests__/connectioncustommappings.test.ts +67 -0
  185. package/src/__tests__/connections.test.ts +1713 -0
  186. package/src/__tests__/connectionsettings.test.ts +280 -0
  187. package/src/__tests__/connectordocs.test.ts +28 -0
  188. package/src/__tests__/connectors.test.ts +751 -0
  189. package/src/__tests__/consumerrequestcounts.test.ts +41 -0
  190. package/src/__tests__/consumers.test.ts +517 -0
  191. package/src/__tests__/contacts.test.ts +957 -0
  192. package/src/__tests__/createcallback.test.ts +34 -0
  193. package/src/__tests__/creditnotes.test.ts +1362 -0
  194. package/src/__tests__/customers.test.ts +1089 -0
  195. package/src/__tests__/customfields.test.ts +50 -0
  196. package/src/__tests__/custommappings.test.ts +63 -0
  197. package/src/__tests__/departments.test.ts +359 -0
  198. package/src/__tests__/drivegroups.test.ts +318 -0
  199. package/src/__tests__/drives.test.ts +311 -0
  200. package/src/__tests__/employeepayrolls.test.ts +487 -0
  201. package/src/__tests__/employees.test.ts +1682 -0
  202. package/src/__tests__/employeeschedules.test.ts +456 -0
  203. package/src/__tests__/eventlogs.test.ts +157 -0
  204. package/src/__tests__/expenses.test.ts +566 -0
  205. package/src/__tests__/files.test.ts +392 -0
  206. package/src/__tests__/files.ts +56 -0
  207. package/src/__tests__/folders.test.ts +103 -0
  208. package/src/__tests__/invoiceitems.test.ts +586 -0
  209. package/src/__tests__/invoices.test.ts +1561 -0
  210. package/src/__tests__/jobs.test.ts +837 -0
  211. package/src/__tests__/journalentries.test.ts +1053 -0
  212. package/src/__tests__/leads.test.ts +897 -0
  213. package/src/__tests__/ledgeraccounts.test.ts +594 -0
  214. package/src/__tests__/locations.test.ts +561 -0
  215. package/src/__tests__/logs.test.ts +135 -0
  216. package/src/__tests__/messages.test.ts +396 -0
  217. package/src/__tests__/mockserver/README.md +52 -0
  218. package/src/__tests__/notes.test.ts +335 -0
  219. package/src/__tests__/opportunities.test.ts +503 -0
  220. package/src/__tests__/orders.test.ts +849 -0
  221. package/src/__tests__/payments.test.ts +557 -0
  222. package/src/__tests__/payrolls.test.ts +481 -0
  223. package/src/__tests__/pipelines.test.ts +383 -0
  224. package/src/__tests__/products.test.ts +505 -0
  225. package/src/__tests__/profitandloss.test.ts +221 -0
  226. package/src/__tests__/purchaseorders.test.ts +1464 -0
  227. package/src/__tests__/sessions.test.ts +70 -0
  228. package/src/__tests__/sharedlinks.test.ts +331 -0
  229. package/src/__tests__/stores.test.ts +39 -0
  230. package/src/__tests__/subsidiaries.test.ts +316 -0
  231. package/src/__tests__/suppliers.test.ts +1071 -0
  232. package/src/__tests__/taxrates.test.ts +472 -0
  233. package/src/__tests__/testclient.ts +48 -0
  234. package/src/__tests__/timeoffrequests.test.ts +381 -0
  235. package/src/__tests__/trackingcategories.test.ts +329 -0
  236. package/src/__tests__/uploadsessions.test.ts +142 -0
  237. package/src/__tests__/users.test.ts +667 -0
  238. package/src/__tests__/validateconnection.test.ts +32 -0
  239. package/src/__tests__/webhooks.test.ts +248 -0
  240. package/src/lib/config.ts +4 -4
  241. package/src/lib/matchers.ts +20 -0
  242. package/src/lib/sdks.ts +8 -2
  243. package/src/models/components/accountingdepartment.ts +14 -0
  244. package/src/models/components/{billinput.ts → bill.ts} +248 -248
  245. package/src/models/components/createconnectionresponse.ts +1 -1
  246. package/src/models/components/creditnote.ts +1 -1
  247. package/src/models/components/employeeschedules.ts +1 -1
  248. package/src/models/components/employeesfilter.ts +7 -0
  249. package/src/models/components/getbillpaymentresponse.ts +1 -1
  250. package/src/models/components/getbillpaymentsresponse.ts +1 -1
  251. package/src/models/components/getbillresponse.ts +1 -1
  252. package/src/models/components/getbillsresponse.ts +1 -1
  253. package/src/models/components/getcompaniesresponse.ts +1 -1
  254. package/src/models/components/getcompanyresponse.ts +1 -1
  255. package/src/models/components/getconnectionresponse.ts +1 -1
  256. package/src/models/components/getconnectionsresponse.ts +1 -1
  257. package/src/models/components/getemployeeresponse.ts +1 -1
  258. package/src/models/components/getemployeesresponse.ts +1 -1
  259. package/src/models/components/getmessageresponse.ts +1 -1
  260. package/src/models/components/getmessagesresponse.ts +1 -1
  261. package/src/models/components/getticketresponse.ts +1 -1
  262. package/src/models/components/getticketsresponse.ts +1 -1
  263. package/src/models/components/gettrackingcategoriesresponse.ts +1 -1
  264. package/src/models/components/gettrackingcategoryresponse.ts +1 -1
  265. package/src/models/components/index.ts +10 -10
  266. package/src/models/components/invoice.ts +1 -1
  267. package/src/models/components/{invoicelineiteminput.ts → invoicelineitem.ts} +101 -100
  268. package/src/models/components/note.ts +9 -0
  269. package/src/models/components/noteinput.ts +9 -0
  270. package/src/models/components/purchaseorder.ts +1 -1
  271. package/src/models/components/updateconnectionresponse.ts +1 -1
  272. package/models/components/billinput.d.ts.map +0 -1
  273. package/models/components/billinput.js.map +0 -1
  274. package/models/components/billlineiteminput.d.ts.map +0 -1
  275. package/models/components/billlineiteminput.js.map +0 -1
  276. package/models/components/billpaymentinput.d.ts.map +0 -1
  277. package/models/components/billpaymentinput.js.map +0 -1
  278. package/models/components/companyinput.d.ts.map +0 -1
  279. package/models/components/companyinput.js.map +0 -1
  280. package/models/components/connectioninput.d.ts.map +0 -1
  281. package/models/components/connectioninput.js.map +0 -1
  282. package/models/components/employeeinput.d.ts.map +0 -1
  283. package/models/components/employeeinput.js.map +0 -1
  284. package/models/components/invoicelineiteminput.d.ts.map +0 -1
  285. package/models/components/invoicelineiteminput.js.map +0 -1
  286. package/models/components/messageinput.d.ts.map +0 -1
  287. package/models/components/messageinput.js.map +0 -1
  288. package/models/components/ticketinput.d.ts.map +0 -1
  289. package/models/components/ticketinput.js.map +0 -1
  290. package/models/components/trackingcategoryinput.d.ts.map +0 -1
  291. package/models/components/trackingcategoryinput.js.map +0 -1
  292. package/src/models/components/{billlineiteminput.ts → billlineitem.ts} +107 -107
  293. package/src/models/components/{billpaymentinput.ts → billpayment.ts} +183 -183
  294. package/src/models/components/{companyinput.ts → company.ts} +226 -226
  295. package/src/models/components/{connectioninput.ts → connection.ts} +355 -355
  296. package/src/models/components/{employeeinput.ts → employee.ts} +122 -122
  297. package/src/models/components/{messageinput.ts → message.ts} +133 -133
  298. package/src/models/components/{ticketinput.ts → ticket.ts} +125 -125
  299. package/src/models/components/{trackingcategoryinput.ts → trackingcategory.ts} +98 -98
@@ -0,0 +1,505 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { expect, test } from "vitest";
6
+ import { Apideck } from "../index.js";
7
+ import { createTestHTTPClient } from "./testclient.js";
8
+
9
+ test("Products Ecommerce Products All", async () => {
10
+ const testHttpClient = createTestHTTPClient("ecommerce.productsAll");
11
+
12
+ const apideck = new Apideck({
13
+ serverURL: process.env["TEST_SERVER_URL"] ?? "http://localhost:18080",
14
+ httpClient: testHttpClient,
15
+ apiKey: process.env["APIDECK_API_KEY"] ?? "value",
16
+ });
17
+
18
+ const result = await apideck.ecommerce.products.list({
19
+ serviceId: "salesforce",
20
+ passThrough: {
21
+ "search": "San Francisco",
22
+ },
23
+ fields: "id,updated_at",
24
+ });
25
+ expect(result.httpMeta.response.status).toBe(200);
26
+ expect(result.getProductsResponse).toBeDefined();
27
+ expect(result.getProductsResponse).toEqual({
28
+ statusCode: 200,
29
+ status: "OK",
30
+ service: "shopify",
31
+ resource: "products",
32
+ operation: "all",
33
+ data: [
34
+ {
35
+ id: "12345",
36
+ name: "MacBook Pro",
37
+ description:
38
+ "Powerful and portable, the MacBook Pro is perfect for professionals and creatives.",
39
+ status: "active",
40
+ price: "1999.99",
41
+ sku: "MBP123",
42
+ inventoryQuantity: "10",
43
+ images: [
44
+ {
45
+ id: "12345",
46
+ url: "https://example.com/macbook-pro.jpg",
47
+ },
48
+ {
49
+ id: "12345",
50
+ url: "https://example.com/macbook-pro.jpg",
51
+ },
52
+ ],
53
+ weight: "1.25",
54
+ weightUnit: "lb",
55
+ options: [
56
+ {
57
+ id: "1",
58
+ name: "Color",
59
+ values: [
60
+ "Red",
61
+ ],
62
+ },
63
+ {
64
+ id: "1",
65
+ name: "Color",
66
+ values: [
67
+ "Red",
68
+ ],
69
+ },
70
+ {
71
+ id: "1",
72
+ name: "Color",
73
+ values: [
74
+ "Red",
75
+ ],
76
+ },
77
+ ],
78
+ variants: [
79
+ {
80
+ id: "1",
81
+ name: "Midnight 16inch MacBook Pro",
82
+ price: "1999.99",
83
+ sku: "MBP123-16GB-SILVER-13",
84
+ inventoryQuantity: "5",
85
+ weight: "1.25",
86
+ weightUnit: "lb",
87
+ options: [
88
+ {
89
+ id: "1",
90
+ name: "Color",
91
+ value: "Silver",
92
+ },
93
+ ],
94
+ images: [
95
+ {
96
+ id: "12345",
97
+ url: "https://example.com/macbook-pro.jpg",
98
+ },
99
+ ],
100
+ },
101
+ ],
102
+ tags: [
103
+ "Apple",
104
+ ],
105
+ categories: [
106
+ {
107
+ id: "12345",
108
+ name: "Laptops",
109
+ },
110
+ {
111
+ id: "12345",
112
+ name: "Laptops",
113
+ },
114
+ ],
115
+ createdAt: new Date("2020-09-30T07:43:32.000Z"),
116
+ updatedAt: new Date("2020-09-30T07:43:32.000Z"),
117
+ },
118
+ {
119
+ id: "12345",
120
+ name: "MacBook Pro",
121
+ description:
122
+ "Powerful and portable, the MacBook Pro is perfect for professionals and creatives.",
123
+ status: "active",
124
+ price: "1999.99",
125
+ sku: "MBP123",
126
+ inventoryQuantity: "10",
127
+ images: [
128
+ {
129
+ id: "12345",
130
+ url: "https://example.com/macbook-pro.jpg",
131
+ },
132
+ {
133
+ id: "12345",
134
+ url: "https://example.com/macbook-pro.jpg",
135
+ },
136
+ ],
137
+ weight: "1.25",
138
+ weightUnit: "lb",
139
+ options: [
140
+ {
141
+ id: "1",
142
+ name: "Color",
143
+ values: [
144
+ "Red",
145
+ ],
146
+ },
147
+ ],
148
+ variants: [
149
+ {
150
+ id: "1",
151
+ name: "Midnight 16inch MacBook Pro",
152
+ price: "1999.99",
153
+ sku: "MBP123-16GB-SILVER-13",
154
+ inventoryQuantity: "5",
155
+ weight: "1.25",
156
+ weightUnit: "lb",
157
+ options: [
158
+ {
159
+ id: "1",
160
+ name: "Color",
161
+ value: "Silver",
162
+ },
163
+ ],
164
+ images: [
165
+ {
166
+ id: "12345",
167
+ url: "https://example.com/macbook-pro.jpg",
168
+ },
169
+ ],
170
+ },
171
+ {
172
+ id: "1",
173
+ name: "Midnight 16inch MacBook Pro",
174
+ price: "1999.99",
175
+ sku: "MBP123-16GB-SILVER-13",
176
+ inventoryQuantity: "5",
177
+ weight: "1.25",
178
+ weightUnit: "lb",
179
+ options: [
180
+ {
181
+ id: "1",
182
+ name: "Color",
183
+ value: "Silver",
184
+ },
185
+ {
186
+ id: "1",
187
+ name: "Color",
188
+ value: "Silver",
189
+ },
190
+ {
191
+ id: "1",
192
+ name: "Color",
193
+ value: "Silver",
194
+ },
195
+ ],
196
+ images: [
197
+ {
198
+ id: "12345",
199
+ url: "https://example.com/macbook-pro.jpg",
200
+ },
201
+ {
202
+ id: "12345",
203
+ url: "https://example.com/macbook-pro.jpg",
204
+ },
205
+ ],
206
+ },
207
+ {
208
+ id: "1",
209
+ name: "Midnight 16inch MacBook Pro",
210
+ price: "1999.99",
211
+ sku: "MBP123-16GB-SILVER-13",
212
+ inventoryQuantity: "5",
213
+ weight: "1.25",
214
+ weightUnit: "lb",
215
+ options: [
216
+ {
217
+ id: "1",
218
+ name: "Color",
219
+ value: "Silver",
220
+ },
221
+ {
222
+ id: "1",
223
+ name: "Color",
224
+ value: "Silver",
225
+ },
226
+ ],
227
+ images: [
228
+ {
229
+ id: "12345",
230
+ url: "https://example.com/macbook-pro.jpg",
231
+ },
232
+ ],
233
+ },
234
+ ],
235
+ tags: [
236
+ "Apple",
237
+ ],
238
+ categories: [
239
+ {
240
+ id: "12345",
241
+ name: "Laptops",
242
+ },
243
+ ],
244
+ createdAt: new Date("2020-09-30T07:43:32.000Z"),
245
+ updatedAt: new Date("2020-09-30T07:43:32.000Z"),
246
+ },
247
+ {
248
+ id: "12345",
249
+ name: "MacBook Pro",
250
+ description:
251
+ "Powerful and portable, the MacBook Pro is perfect for professionals and creatives.",
252
+ status: "active",
253
+ price: "1999.99",
254
+ sku: "MBP123",
255
+ inventoryQuantity: "10",
256
+ images: [
257
+ {
258
+ id: "12345",
259
+ url: "https://example.com/macbook-pro.jpg",
260
+ },
261
+ {
262
+ id: "12345",
263
+ url: "https://example.com/macbook-pro.jpg",
264
+ },
265
+ ],
266
+ weight: "1.25",
267
+ weightUnit: "lb",
268
+ options: [
269
+ {
270
+ id: "1",
271
+ name: "Color",
272
+ values: [
273
+ "Red",
274
+ ],
275
+ },
276
+ {
277
+ id: "1",
278
+ name: "Color",
279
+ values: [
280
+ "Red",
281
+ ],
282
+ },
283
+ ],
284
+ variants: [
285
+ {
286
+ id: "1",
287
+ name: "Midnight 16inch MacBook Pro",
288
+ price: "1999.99",
289
+ sku: "MBP123-16GB-SILVER-13",
290
+ inventoryQuantity: "5",
291
+ weight: "1.25",
292
+ weightUnit: "lb",
293
+ options: [
294
+ {
295
+ id: "1",
296
+ name: "Color",
297
+ value: "Silver",
298
+ },
299
+ {
300
+ id: "1",
301
+ name: "Color",
302
+ value: "Silver",
303
+ },
304
+ {
305
+ id: "1",
306
+ name: "Color",
307
+ value: "Silver",
308
+ },
309
+ ],
310
+ images: [
311
+ {
312
+ id: "12345",
313
+ url: "https://example.com/macbook-pro.jpg",
314
+ },
315
+ {
316
+ id: "12345",
317
+ url: "https://example.com/macbook-pro.jpg",
318
+ },
319
+ ],
320
+ },
321
+ ],
322
+ tags: [
323
+ "Apple",
324
+ ],
325
+ categories: [
326
+ {
327
+ id: "12345",
328
+ name: "Laptops",
329
+ },
330
+ {
331
+ id: "12345",
332
+ name: "Laptops",
333
+ },
334
+ {
335
+ id: "12345",
336
+ name: "Laptops",
337
+ },
338
+ ],
339
+ createdAt: new Date("2020-09-30T07:43:32.000Z"),
340
+ updatedAt: new Date("2020-09-30T07:43:32.000Z"),
341
+ },
342
+ ],
343
+ meta: {
344
+ itemsOnPage: 50,
345
+ cursors: {
346
+ previous: "em9oby1jcm06OnBhZ2U6OjE=",
347
+ current: "em9oby1jcm06OnBhZ2U6OjI=",
348
+ next: "em9oby1jcm06OnBhZ2U6OjM=",
349
+ },
350
+ },
351
+ links: {
352
+ previous:
353
+ "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D",
354
+ current: "https://unify.apideck.com/crm/companies",
355
+ next:
356
+ "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM",
357
+ },
358
+ });
359
+ });
360
+
361
+ test("Products Ecommerce Products One", async () => {
362
+ const testHttpClient = createTestHTTPClient("ecommerce.productsOne");
363
+
364
+ const apideck = new Apideck({
365
+ serverURL: process.env["TEST_SERVER_URL"] ?? "http://localhost:18080",
366
+ httpClient: testHttpClient,
367
+ apiKey: process.env["APIDECK_API_KEY"] ?? "value",
368
+ });
369
+
370
+ const result = await apideck.ecommerce.products.get({
371
+ id: "<id>",
372
+ serviceId: "salesforce",
373
+ fields: "id,updated_at",
374
+ });
375
+ expect(result.httpMeta.response.status).toBe(200);
376
+ expect(result.getProductResponse).toBeDefined();
377
+ expect(result.getProductResponse).toEqual({
378
+ statusCode: 200,
379
+ status: "OK",
380
+ service: "shopify",
381
+ resource: "products",
382
+ operation: "one",
383
+ data: {
384
+ id: "12345",
385
+ name: "MacBook Pro",
386
+ description:
387
+ "Powerful and portable, the MacBook Pro is perfect for professionals and creatives.",
388
+ status: "active",
389
+ price: "1999.99",
390
+ sku: "MBP123",
391
+ inventoryQuantity: "10",
392
+ images: [
393
+ {
394
+ id: "12345",
395
+ url: "https://example.com/macbook-pro.jpg",
396
+ },
397
+ {
398
+ id: "12345",
399
+ url: "https://example.com/macbook-pro.jpg",
400
+ },
401
+ {
402
+ id: "12345",
403
+ url: "https://example.com/macbook-pro.jpg",
404
+ },
405
+ ],
406
+ weight: "1.25",
407
+ weightUnit: "lb",
408
+ options: [
409
+ {
410
+ id: "1",
411
+ name: "Color",
412
+ values: [
413
+ "Red",
414
+ ],
415
+ },
416
+ {
417
+ id: "1",
418
+ name: "Color",
419
+ values: [
420
+ "Red",
421
+ ],
422
+ },
423
+ ],
424
+ variants: [
425
+ {
426
+ id: "1",
427
+ name: "Midnight 16inch MacBook Pro",
428
+ price: "1999.99",
429
+ sku: "MBP123-16GB-SILVER-13",
430
+ inventoryQuantity: "5",
431
+ weight: "1.25",
432
+ weightUnit: "lb",
433
+ options: [
434
+ {
435
+ id: "1",
436
+ name: "Color",
437
+ value: "Silver",
438
+ },
439
+ {
440
+ id: "1",
441
+ name: "Color",
442
+ value: "Silver",
443
+ },
444
+ ],
445
+ images: [
446
+ {
447
+ id: "12345",
448
+ url: "https://example.com/macbook-pro.jpg",
449
+ },
450
+ {
451
+ id: "12345",
452
+ url: "https://example.com/macbook-pro.jpg",
453
+ },
454
+ {
455
+ id: "12345",
456
+ url: "https://example.com/macbook-pro.jpg",
457
+ },
458
+ ],
459
+ },
460
+ {
461
+ id: "1",
462
+ name: "Midnight 16inch MacBook Pro",
463
+ price: "1999.99",
464
+ sku: "MBP123-16GB-SILVER-13",
465
+ inventoryQuantity: "5",
466
+ weight: "1.25",
467
+ weightUnit: "lb",
468
+ options: [
469
+ {
470
+ id: "1",
471
+ name: "Color",
472
+ value: "Silver",
473
+ },
474
+ {
475
+ id: "1",
476
+ name: "Color",
477
+ value: "Silver",
478
+ },
479
+ ],
480
+ images: [
481
+ {
482
+ id: "12345",
483
+ url: "https://example.com/macbook-pro.jpg",
484
+ },
485
+ {
486
+ id: "12345",
487
+ url: "https://example.com/macbook-pro.jpg",
488
+ },
489
+ ],
490
+ },
491
+ ],
492
+ tags: [
493
+ "Apple",
494
+ ],
495
+ categories: [
496
+ {
497
+ id: "12345",
498
+ name: "Laptops",
499
+ },
500
+ ],
501
+ createdAt: new Date("2020-09-30T07:43:32.000Z"),
502
+ updatedAt: new Date("2020-09-30T07:43:32.000Z"),
503
+ },
504
+ });
505
+ });