@apideck/unify 0.40.0 → 0.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 (96) hide show
  1. package/jsr.json +1 -1
  2. package/lib/config.d.ts +4 -4
  3. package/lib/config.js +4 -4
  4. package/package.json +6 -2
  5. package/src/__tests__/activities.test.ts +1141 -0
  6. package/src/__tests__/agedcreditors.test.ts +280 -0
  7. package/src/__tests__/ageddebtors.test.ts +280 -0
  8. package/src/__tests__/apideckcompanies.test.ts +1082 -0
  9. package/src/__tests__/apideckcustomers.test.ts +364 -0
  10. package/src/__tests__/apideckdepartments.test.ts +497 -0
  11. package/src/__tests__/apiresources.test.ts +62 -0
  12. package/src/__tests__/apis.test.ts +216 -0
  13. package/src/__tests__/applicants.test.ts +1445 -0
  14. package/src/__tests__/applications.test.ts +515 -0
  15. package/src/__tests__/assertions.ts +13 -0
  16. package/src/__tests__/attachments.test.ts +371 -0
  17. package/src/__tests__/balancesheet.test.ts +453 -0
  18. package/src/__tests__/bankaccounts.test.ts +324 -0
  19. package/src/__tests__/bankfeedaccounts.test.ts +343 -0
  20. package/src/__tests__/bankfeedstatements.test.ts +408 -0
  21. package/src/__tests__/billpayments.test.ts +1031 -0
  22. package/src/__tests__/bills.test.ts +1630 -0
  23. package/src/__tests__/categories.test.ts +127 -0
  24. package/src/__tests__/collections.test.ts +120 -0
  25. package/src/__tests__/collectiontags.test.ts +68 -0
  26. package/src/__tests__/collectionticketcomments.test.ts +501 -0
  27. package/src/__tests__/collectiontickets.test.ts +627 -0
  28. package/src/__tests__/collectionusers.test.ts +126 -0
  29. package/src/__tests__/companies.test.ts +1642 -0
  30. package/src/__tests__/companyinfo.test.ts +219 -0
  31. package/src/__tests__/connectionconsent.test.ts +89 -0
  32. package/src/__tests__/connectionconsents.test.ts +31 -0
  33. package/src/__tests__/connectioncustommappings.test.ts +69 -0
  34. package/src/__tests__/connections.test.ts +2127 -0
  35. package/src/__tests__/connectionsettings.test.ts +687 -0
  36. package/src/__tests__/connectordocs.test.ts +29 -0
  37. package/src/__tests__/connectors.test.ts +753 -0
  38. package/src/__tests__/consumerrequestcounts.test.ts +42 -0
  39. package/src/__tests__/consumers.test.ts +523 -0
  40. package/src/__tests__/contacts.test.ts +1421 -0
  41. package/src/__tests__/createcallback.test.ts +36 -0
  42. package/src/__tests__/creditnotes.test.ts +2040 -0
  43. package/src/__tests__/customers.test.ts +1600 -0
  44. package/src/__tests__/customfields.test.ts +52 -0
  45. package/src/__tests__/custommappings.test.ts +65 -0
  46. package/src/__tests__/customobjects.test.ts +408 -0
  47. package/src/__tests__/customobjectschemas.test.ts +734 -0
  48. package/src/__tests__/departments.test.ts +529 -0
  49. package/src/__tests__/drivegroups.test.ts +496 -0
  50. package/src/__tests__/drives.test.ts +487 -0
  51. package/src/__tests__/employeepayrolls.test.ts +491 -0
  52. package/src/__tests__/employees.test.ts +2968 -0
  53. package/src/__tests__/employeeschedules.test.ts +457 -0
  54. package/src/__tests__/eventlogs.test.ts +158 -0
  55. package/src/__tests__/expensecategories.test.ts +324 -0
  56. package/src/__tests__/expensereports.test.ts +634 -0
  57. package/src/__tests__/expenses.test.ts +867 -0
  58. package/src/__tests__/files.test.ts +506 -0
  59. package/src/__tests__/files.ts +56 -0
  60. package/src/__tests__/folders.test.ts +390 -0
  61. package/src/__tests__/invoiceitems.test.ts +855 -0
  62. package/src/__tests__/invoices.test.ts +2173 -0
  63. package/src/__tests__/jobs.test.ts +1150 -0
  64. package/src/__tests__/journalentries.test.ts +1542 -0
  65. package/src/__tests__/leads.test.ts +1341 -0
  66. package/src/__tests__/ledgeraccounts.test.ts +829 -0
  67. package/src/__tests__/locations.test.ts +856 -0
  68. package/src/__tests__/logs.test.ts +137 -0
  69. package/src/__tests__/messages.test.ts +588 -0
  70. package/src/__tests__/notes.test.ts +523 -0
  71. package/src/__tests__/opportunities.test.ts +718 -0
  72. package/src/__tests__/orders.test.ts +854 -0
  73. package/src/__tests__/payments.test.ts +867 -0
  74. package/src/__tests__/payrolls.test.ts +485 -0
  75. package/src/__tests__/pipelines.test.ts +574 -0
  76. package/src/__tests__/products.test.ts +509 -0
  77. package/src/__tests__/profitandloss.test.ts +223 -0
  78. package/src/__tests__/projects.test.ts +480 -0
  79. package/src/__tests__/proxy.test.ts +41 -0
  80. package/src/__tests__/purchaseorders.test.ts +2139 -0
  81. package/src/__tests__/quotes.test.ts +678 -0
  82. package/src/__tests__/refunds.test.ts +812 -0
  83. package/src/__tests__/sessions.test.ts +72 -0
  84. package/src/__tests__/sharedlinks.test.ts +511 -0
  85. package/src/__tests__/stores.test.ts +41 -0
  86. package/src/__tests__/subsidiaries.test.ts +496 -0
  87. package/src/__tests__/suppliers.test.ts +1574 -0
  88. package/src/__tests__/taxrates.test.ts +701 -0
  89. package/src/__tests__/testclient.ts +48 -0
  90. package/src/__tests__/timeoffrequests.test.ts +588 -0
  91. package/src/__tests__/trackingcategories.test.ts +515 -0
  92. package/src/__tests__/uploadsessions.test.ts +221 -0
  93. package/src/__tests__/users.test.ts +1020 -0
  94. package/src/__tests__/validateconnection.test.ts +34 -0
  95. package/src/__tests__/webhooks.test.ts +254 -0
  96. package/src/lib/config.ts +4 -4
@@ -0,0 +1,829 @@
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("Ledgeraccounts Accounting Ledger Accounts All", async () => {
10
+ const testHttpClient = createTestHTTPClient("accounting.ledgerAccountsAll");
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.accounting.ledgerAccounts.list({
19
+ consumerId: "test-consumer",
20
+ appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX",
21
+ serviceId: "salesforce",
22
+ filter: {
23
+ updatedSince: new Date("2020-09-30T07:43:32.000Z"),
24
+ },
25
+ sort: {
26
+ by: "updated_at",
27
+ direction: "desc",
28
+ },
29
+ passThrough: {
30
+ "search": "San Francisco",
31
+ },
32
+ fields: "id,updated_at",
33
+ });
34
+ expect(result.httpMeta.response.status).toBe(200);
35
+ expect(result.getLedgerAccountsResponse).toBeDefined();
36
+ expect(result.getLedgerAccountsResponse).toEqual({
37
+ statusCode: 200,
38
+ status: "OK",
39
+ service: "xero",
40
+ resource: "ledger-accounts",
41
+ operation: "all",
42
+ data: [
43
+ {
44
+ id: "12345",
45
+ displayId: "1-12345",
46
+ code: "453",
47
+ classification: "asset",
48
+ type: "bank",
49
+ subType: "CHECKING_ACCOUNT",
50
+ name: "Bank account",
51
+ fullyQualifiedName: "Asset.Bank.Checking_Account",
52
+ description: "Main checking account",
53
+ openingBalance: 75000,
54
+ currentBalance: 20000,
55
+ currency: "USD",
56
+ taxType: "NONE",
57
+ taxRate: {
58
+ id: "123456",
59
+ code: "N-T",
60
+ name: "GST on Purchases",
61
+ rate: 10,
62
+ },
63
+ level: 1,
64
+ active: true,
65
+ status: "active",
66
+ header: true,
67
+ bankAccount: {
68
+ bankName: "Monzo",
69
+ accountNumber: "123465",
70
+ accountName: "SPACEX LLC",
71
+ accountType: "credit_card",
72
+ iban: "CH2989144532982975332",
73
+ bic: "AUDSCHGGXXX",
74
+ routingNumber: "012345678",
75
+ bsbNumber: "062-001",
76
+ branchIdentifier: "001",
77
+ bankCode: "BNH",
78
+ currency: "USD",
79
+ },
80
+ categories: [
81
+ {
82
+ id: "12345",
83
+ name: "Finance Charges Expense",
84
+ },
85
+ {
86
+ id: "12345",
87
+ name: "Finance Charges Expense",
88
+ },
89
+ ],
90
+ parentAccount: {
91
+ id: "12345",
92
+ name: "Bank Accounts",
93
+ displayId: "1-1100",
94
+ },
95
+ subAccount: false,
96
+ subAccounts: [
97
+ {
98
+ id: "12345",
99
+ accountSubName: "Petty Cash",
100
+ },
101
+ {
102
+ id: "12345",
103
+ accountSubName: "Petty Cash",
104
+ },
105
+ {
106
+ id: "12345",
107
+ accountSubName: "Petty Cash",
108
+ },
109
+ ],
110
+ lastReconciliationDate: new Date("2020-09-30"),
111
+ customFields: [
112
+ {
113
+ id: "2389328923893298",
114
+ name: "employee_level",
115
+ description: "Employee Level",
116
+ value: 10,
117
+ },
118
+ ],
119
+ rowVersion: "1-12345",
120
+ updatedBy: "12345",
121
+ createdBy: "12345",
122
+ updatedAt: new Date("2020-09-30T07:43:32.000Z"),
123
+ createdAt: new Date("2020-09-30T07:43:32.000Z"),
124
+ passThrough: [
125
+ {
126
+ serviceId: "<id>",
127
+ extendPaths: [
128
+ {
129
+ path: "$.nested.property",
130
+ value: {
131
+ "TaxClassificationRef": {
132
+ "value": "EUC-99990201-V1-00020000",
133
+ },
134
+ },
135
+ },
136
+ {
137
+ path: "$.nested.property",
138
+ value: {
139
+ "TaxClassificationRef": {
140
+ "value": "EUC-99990201-V1-00020000",
141
+ },
142
+ },
143
+ },
144
+ ],
145
+ },
146
+ ],
147
+ },
148
+ {
149
+ id: "12345",
150
+ displayId: "1-12345",
151
+ code: "453",
152
+ classification: "asset",
153
+ type: "bank",
154
+ subType: "CHECKING_ACCOUNT",
155
+ name: "Bank account",
156
+ fullyQualifiedName: "Asset.Bank.Checking_Account",
157
+ description: "Main checking account",
158
+ openingBalance: 75000,
159
+ currentBalance: 20000,
160
+ currency: "USD",
161
+ taxType: "NONE",
162
+ taxRate: {
163
+ id: "123456",
164
+ code: "N-T",
165
+ name: "GST on Purchases",
166
+ rate: 10,
167
+ },
168
+ level: 1,
169
+ active: true,
170
+ status: "active",
171
+ header: true,
172
+ bankAccount: {
173
+ bankName: "Monzo",
174
+ accountNumber: "123465",
175
+ accountName: "SPACEX LLC",
176
+ accountType: "credit_card",
177
+ iban: "CH2989144532982975332",
178
+ bic: "AUDSCHGGXXX",
179
+ routingNumber: "012345678",
180
+ bsbNumber: "062-001",
181
+ branchIdentifier: "001",
182
+ bankCode: "BNH",
183
+ currency: "USD",
184
+ },
185
+ categories: [
186
+ {
187
+ id: "12345",
188
+ name: "Finance Charges Expense",
189
+ },
190
+ {
191
+ id: "12345",
192
+ name: "Finance Charges Expense",
193
+ },
194
+ ],
195
+ parentAccount: {
196
+ id: "12345",
197
+ name: "Bank Accounts",
198
+ displayId: "1-1100",
199
+ },
200
+ subAccount: false,
201
+ subAccounts: [
202
+ {
203
+ id: "12345",
204
+ accountSubName: "Petty Cash",
205
+ },
206
+ ],
207
+ lastReconciliationDate: new Date("2020-09-30"),
208
+ customFields: [
209
+ {
210
+ id: "2389328923893298",
211
+ name: "employee_level",
212
+ description: "Employee Level",
213
+ value: "Uses Salesforce and Marketo",
214
+ },
215
+ {
216
+ id: "2389328923893298",
217
+ name: "employee_level",
218
+ description: "Employee Level",
219
+ value: "Uses Salesforce and Marketo",
220
+ },
221
+ {
222
+ id: "2389328923893298",
223
+ name: "employee_level",
224
+ description: "Employee Level",
225
+ value: {
226
+ "0": "<value>",
227
+ "1": "<value>",
228
+ },
229
+ },
230
+ ],
231
+ rowVersion: "1-12345",
232
+ updatedBy: "12345",
233
+ createdBy: "12345",
234
+ updatedAt: new Date("2020-09-30T07:43:32.000Z"),
235
+ createdAt: new Date("2020-09-30T07:43:32.000Z"),
236
+ passThrough: [
237
+ {
238
+ serviceId: "<id>",
239
+ extendPaths: [
240
+ {
241
+ path: "$.nested.property",
242
+ value: {
243
+ "TaxClassificationRef": {
244
+ "value": "EUC-99990201-V1-00020000",
245
+ },
246
+ },
247
+ },
248
+ ],
249
+ },
250
+ {
251
+ serviceId: "<id>",
252
+ extendPaths: [
253
+ {
254
+ path: "$.nested.property",
255
+ value: {
256
+ "TaxClassificationRef": {
257
+ "value": "EUC-99990201-V1-00020000",
258
+ },
259
+ },
260
+ },
261
+ ],
262
+ },
263
+ ],
264
+ },
265
+ {
266
+ id: "12345",
267
+ displayId: "1-12345",
268
+ code: "453",
269
+ classification: "asset",
270
+ type: "bank",
271
+ subType: "CHECKING_ACCOUNT",
272
+ name: "Bank account",
273
+ fullyQualifiedName: "Asset.Bank.Checking_Account",
274
+ description: "Main checking account",
275
+ openingBalance: 75000,
276
+ currentBalance: 20000,
277
+ currency: "USD",
278
+ taxType: "NONE",
279
+ taxRate: {
280
+ id: "123456",
281
+ code: "N-T",
282
+ name: "GST on Purchases",
283
+ rate: 10,
284
+ },
285
+ level: 1,
286
+ active: true,
287
+ status: "active",
288
+ header: true,
289
+ bankAccount: {
290
+ bankName: "Monzo",
291
+ accountNumber: "123465",
292
+ accountName: "SPACEX LLC",
293
+ accountType: "credit_card",
294
+ iban: "CH2989144532982975332",
295
+ bic: "AUDSCHGGXXX",
296
+ routingNumber: "012345678",
297
+ bsbNumber: "062-001",
298
+ branchIdentifier: "001",
299
+ bankCode: "BNH",
300
+ currency: "USD",
301
+ },
302
+ categories: [
303
+ {
304
+ id: "12345",
305
+ name: "Finance Charges Expense",
306
+ },
307
+ {
308
+ id: "12345",
309
+ name: "Finance Charges Expense",
310
+ },
311
+ ],
312
+ parentAccount: {
313
+ id: "12345",
314
+ name: "Bank Accounts",
315
+ displayId: "1-1100",
316
+ },
317
+ subAccount: false,
318
+ subAccounts: [
319
+ {
320
+ id: "12345",
321
+ accountSubName: "Petty Cash",
322
+ },
323
+ {
324
+ id: "12345",
325
+ accountSubName: "Petty Cash",
326
+ },
327
+ ],
328
+ lastReconciliationDate: new Date("2020-09-30"),
329
+ customFields: [
330
+ {
331
+ id: "2389328923893298",
332
+ name: "employee_level",
333
+ description: "Employee Level",
334
+ value: {
335
+ "0": {},
336
+ "1": {},
337
+ },
338
+ },
339
+ ],
340
+ rowVersion: "1-12345",
341
+ updatedBy: "12345",
342
+ createdBy: "12345",
343
+ updatedAt: new Date("2020-09-30T07:43:32.000Z"),
344
+ createdAt: new Date("2020-09-30T07:43:32.000Z"),
345
+ passThrough: [
346
+ {
347
+ serviceId: "<id>",
348
+ extendPaths: [
349
+ {
350
+ path: "$.nested.property",
351
+ value: {
352
+ "TaxClassificationRef": {
353
+ "value": "EUC-99990201-V1-00020000",
354
+ },
355
+ },
356
+ },
357
+ {
358
+ path: "$.nested.property",
359
+ value: {
360
+ "TaxClassificationRef": {
361
+ "value": "EUC-99990201-V1-00020000",
362
+ },
363
+ },
364
+ },
365
+ ],
366
+ },
367
+ {
368
+ serviceId: "<id>",
369
+ extendPaths: [
370
+ {
371
+ path: "$.nested.property",
372
+ value: {
373
+ "TaxClassificationRef": {
374
+ "value": "EUC-99990201-V1-00020000",
375
+ },
376
+ },
377
+ },
378
+ ],
379
+ },
380
+ {
381
+ serviceId: "<id>",
382
+ extendPaths: [
383
+ {
384
+ path: "$.nested.property",
385
+ value: {
386
+ "TaxClassificationRef": {
387
+ "value": "EUC-99990201-V1-00020000",
388
+ },
389
+ },
390
+ },
391
+ ],
392
+ },
393
+ ],
394
+ },
395
+ ],
396
+ meta: {
397
+ itemsOnPage: 50,
398
+ cursors: {
399
+ previous: "em9oby1jcm06OnBhZ2U6OjE=",
400
+ current: "em9oby1jcm06OnBhZ2U6OjI=",
401
+ next: "em9oby1jcm06OnBhZ2U6OjM=",
402
+ },
403
+ },
404
+ links: {
405
+ previous:
406
+ "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D",
407
+ current: "https://unify.apideck.com/crm/companies",
408
+ next:
409
+ "https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM",
410
+ },
411
+ });
412
+ });
413
+
414
+ test("Ledgeraccounts Accounting Ledger Accounts Add", async () => {
415
+ const testHttpClient = createTestHTTPClient("accounting.ledgerAccountsAdd");
416
+
417
+ const apideck = new Apideck({
418
+ serverURL: process.env["TEST_SERVER_URL"] ?? "http://localhost:18080",
419
+ httpClient: testHttpClient,
420
+ apiKey: process.env["APIDECK_API_KEY"] ?? "value",
421
+ });
422
+
423
+ const result = await apideck.accounting.ledgerAccounts.create({
424
+ consumerId: "test-consumer",
425
+ appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX",
426
+ serviceId: "salesforce",
427
+ ledgerAccount: {
428
+ displayId: "1-12345",
429
+ code: "453",
430
+ classification: "asset",
431
+ type: "bank",
432
+ subType: "CHECKING_ACCOUNT",
433
+ name: "Bank account",
434
+ fullyQualifiedName: "Asset.Bank.Checking_Account",
435
+ description: "Main checking account",
436
+ openingBalance: 75000,
437
+ currentBalance: 20000,
438
+ currency: "USD",
439
+ taxType: "NONE",
440
+ taxRate: {
441
+ id: "123456",
442
+ rate: 10,
443
+ },
444
+ level: 1,
445
+ active: true,
446
+ status: "active",
447
+ header: true,
448
+ bankAccount: {
449
+ bankName: "Monzo",
450
+ accountNumber: "123465",
451
+ accountName: "SPACEX LLC",
452
+ accountType: "credit_card",
453
+ iban: "CH2989144532982975332",
454
+ bic: "AUDSCHGGXXX",
455
+ routingNumber: "012345678",
456
+ bsbNumber: "062-001",
457
+ branchIdentifier: "001",
458
+ bankCode: "BNH",
459
+ currency: "USD",
460
+ },
461
+ parentAccount: {
462
+ id: "12345",
463
+ name: "Bank Accounts",
464
+ displayId: "1-1100",
465
+ },
466
+ subAccount: false,
467
+ lastReconciliationDate: new Date("2020-09-30"),
468
+ customFields: [
469
+ {
470
+ id: "2389328923893298",
471
+ name: "employee_level",
472
+ description: "Employee Level",
473
+ value: {},
474
+ },
475
+ {
476
+ id: "2389328923893298",
477
+ name: "employee_level",
478
+ description: "Employee Level",
479
+ value: true,
480
+ },
481
+ ],
482
+ rowVersion: "1-12345",
483
+ passThrough: [
484
+ {
485
+ serviceId: "<id>",
486
+ extendPaths: [
487
+ {
488
+ path: "$.nested.property",
489
+ value: {
490
+ "TaxClassificationRef": {
491
+ "value": "EUC-99990201-V1-00020000",
492
+ },
493
+ },
494
+ },
495
+ ],
496
+ },
497
+ ],
498
+ },
499
+ });
500
+ expect(result.httpMeta.response.status).toBe(201);
501
+ expect(result.createLedgerAccountResponse).toBeDefined();
502
+ expect(result.createLedgerAccountResponse).toEqual({
503
+ statusCode: 200,
504
+ status: "OK",
505
+ service: "xero",
506
+ resource: "ledger-accounts",
507
+ operation: "add",
508
+ data: {
509
+ id: "12345",
510
+ },
511
+ });
512
+ });
513
+
514
+ test("Ledgeraccounts Accounting Ledger Accounts One", async () => {
515
+ const testHttpClient = createTestHTTPClient("accounting.ledgerAccountsOne");
516
+
517
+ const apideck = new Apideck({
518
+ serverURL: process.env["TEST_SERVER_URL"] ?? "http://localhost:18080",
519
+ httpClient: testHttpClient,
520
+ apiKey: process.env["APIDECK_API_KEY"] ?? "value",
521
+ });
522
+
523
+ const result = await apideck.accounting.ledgerAccounts.get({
524
+ id: "<id>",
525
+ consumerId: "test-consumer",
526
+ appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX",
527
+ serviceId: "salesforce",
528
+ fields: "id,updated_at",
529
+ });
530
+ expect(result.httpMeta.response.status).toBe(200);
531
+ expect(result.getLedgerAccountResponse).toBeDefined();
532
+ expect(result.getLedgerAccountResponse).toEqual({
533
+ statusCode: 200,
534
+ status: "OK",
535
+ service: "xero",
536
+ resource: "ledger-accounts",
537
+ operation: "one",
538
+ data: {
539
+ id: "12345",
540
+ displayId: "1-12345",
541
+ code: "453",
542
+ classification: "asset",
543
+ type: "bank",
544
+ subType: "CHECKING_ACCOUNT",
545
+ name: "Bank account",
546
+ fullyQualifiedName: "Asset.Bank.Checking_Account",
547
+ description: "Main checking account",
548
+ openingBalance: 75000,
549
+ currentBalance: 20000,
550
+ currency: "USD",
551
+ taxType: "NONE",
552
+ taxRate: {
553
+ id: "123456",
554
+ code: "N-T",
555
+ name: "GST on Purchases",
556
+ rate: 10,
557
+ },
558
+ level: 1,
559
+ active: true,
560
+ status: "active",
561
+ header: true,
562
+ bankAccount: {
563
+ bankName: "Monzo",
564
+ accountNumber: "123465",
565
+ accountName: "SPACEX LLC",
566
+ accountType: "credit_card",
567
+ iban: "CH2989144532982975332",
568
+ bic: "AUDSCHGGXXX",
569
+ routingNumber: "012345678",
570
+ bsbNumber: "062-001",
571
+ branchIdentifier: "001",
572
+ bankCode: "BNH",
573
+ currency: "USD",
574
+ },
575
+ categories: [
576
+ {
577
+ id: "12345",
578
+ name: "Finance Charges Expense",
579
+ },
580
+ {
581
+ id: "12345",
582
+ name: "Finance Charges Expense",
583
+ },
584
+ {
585
+ id: "12345",
586
+ name: "Finance Charges Expense",
587
+ },
588
+ ],
589
+ parentAccount: {
590
+ id: "12345",
591
+ name: "Bank Accounts",
592
+ displayId: "1-1100",
593
+ },
594
+ subAccount: false,
595
+ subAccounts: [
596
+ {
597
+ id: "12345",
598
+ accountSubName: "Petty Cash",
599
+ },
600
+ {
601
+ id: "12345",
602
+ accountSubName: "Petty Cash",
603
+ },
604
+ ],
605
+ lastReconciliationDate: new Date("2020-09-30"),
606
+ customFields: [
607
+ {
608
+ id: "2389328923893298",
609
+ name: "employee_level",
610
+ description: "Employee Level",
611
+ value: {},
612
+ },
613
+ {
614
+ id: "2389328923893298",
615
+ name: "employee_level",
616
+ description: "Employee Level",
617
+ value: {
618
+ "0": {},
619
+ },
620
+ },
621
+ ],
622
+ rowVersion: "1-12345",
623
+ updatedBy: "12345",
624
+ createdBy: "12345",
625
+ updatedAt: new Date("2020-09-30T07:43:32.000Z"),
626
+ createdAt: new Date("2020-09-30T07:43:32.000Z"),
627
+ passThrough: [
628
+ {
629
+ serviceId: "<id>",
630
+ extendPaths: [
631
+ {
632
+ path: "$.nested.property",
633
+ value: {
634
+ "TaxClassificationRef": {
635
+ "value": "EUC-99990201-V1-00020000",
636
+ },
637
+ },
638
+ },
639
+ ],
640
+ },
641
+ {
642
+ serviceId: "<id>",
643
+ extendPaths: [
644
+ {
645
+ path: "$.nested.property",
646
+ value: {
647
+ "TaxClassificationRef": {
648
+ "value": "EUC-99990201-V1-00020000",
649
+ },
650
+ },
651
+ },
652
+ ],
653
+ },
654
+ ],
655
+ },
656
+ });
657
+ });
658
+
659
+ test("Ledgeraccounts Accounting Ledger Accounts Update", async () => {
660
+ const testHttpClient = createTestHTTPClient(
661
+ "accounting.ledgerAccountsUpdate",
662
+ );
663
+
664
+ const apideck = new Apideck({
665
+ serverURL: process.env["TEST_SERVER_URL"] ?? "http://localhost:18080",
666
+ httpClient: testHttpClient,
667
+ apiKey: process.env["APIDECK_API_KEY"] ?? "value",
668
+ });
669
+
670
+ const result = await apideck.accounting.ledgerAccounts.update({
671
+ id: "<id>",
672
+ consumerId: "test-consumer",
673
+ appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX",
674
+ serviceId: "salesforce",
675
+ ledgerAccount: {
676
+ displayId: "1-12345",
677
+ code: "453",
678
+ classification: "asset",
679
+ type: "bank",
680
+ subType: "CHECKING_ACCOUNT",
681
+ name: "Bank account",
682
+ fullyQualifiedName: "Asset.Bank.Checking_Account",
683
+ description: "Main checking account",
684
+ openingBalance: 75000,
685
+ currentBalance: 20000,
686
+ currency: "USD",
687
+ taxType: "NONE",
688
+ taxRate: {
689
+ id: "123456",
690
+ rate: 10,
691
+ },
692
+ level: 1,
693
+ active: true,
694
+ status: "active",
695
+ header: true,
696
+ bankAccount: {
697
+ bankName: "Monzo",
698
+ accountNumber: "123465",
699
+ accountName: "SPACEX LLC",
700
+ accountType: "credit_card",
701
+ iban: "CH2989144532982975332",
702
+ bic: "AUDSCHGGXXX",
703
+ routingNumber: "012345678",
704
+ bsbNumber: "062-001",
705
+ branchIdentifier: "001",
706
+ bankCode: "BNH",
707
+ currency: "USD",
708
+ },
709
+ parentAccount: {
710
+ id: "12345",
711
+ name: "Bank Accounts",
712
+ displayId: "1-1100",
713
+ },
714
+ subAccount: false,
715
+ lastReconciliationDate: new Date("2020-09-30"),
716
+ customFields: [
717
+ {
718
+ id: "2389328923893298",
719
+ name: "employee_level",
720
+ description: "Employee Level",
721
+ value: {},
722
+ },
723
+ {
724
+ id: "2389328923893298",
725
+ name: "employee_level",
726
+ description: "Employee Level",
727
+ value: true,
728
+ },
729
+ {
730
+ id: "2389328923893298",
731
+ name: "employee_level",
732
+ description: "Employee Level",
733
+ value: {
734
+ "0": {},
735
+ "1": {},
736
+ },
737
+ },
738
+ ],
739
+ rowVersion: "1-12345",
740
+ passThrough: [
741
+ {
742
+ serviceId: "<id>",
743
+ extendPaths: [
744
+ {
745
+ path: "$.nested.property",
746
+ value: {
747
+ "TaxClassificationRef": {
748
+ "value": "EUC-99990201-V1-00020000",
749
+ },
750
+ },
751
+ },
752
+ {
753
+ path: "$.nested.property",
754
+ value: {
755
+ "TaxClassificationRef": {
756
+ "value": "EUC-99990201-V1-00020000",
757
+ },
758
+ },
759
+ },
760
+ {
761
+ path: "$.nested.property",
762
+ value: {
763
+ "TaxClassificationRef": {
764
+ "value": "EUC-99990201-V1-00020000",
765
+ },
766
+ },
767
+ },
768
+ ],
769
+ },
770
+ {
771
+ serviceId: "<id>",
772
+ extendPaths: [
773
+ {
774
+ path: "$.nested.property",
775
+ value: {
776
+ "TaxClassificationRef": {
777
+ "value": "EUC-99990201-V1-00020000",
778
+ },
779
+ },
780
+ },
781
+ ],
782
+ },
783
+ ],
784
+ },
785
+ });
786
+ expect(result.httpMeta.response.status).toBe(200);
787
+ expect(result.updateLedgerAccountResponse).toBeDefined();
788
+ expect(result.updateLedgerAccountResponse).toEqual({
789
+ statusCode: 200,
790
+ status: "OK",
791
+ service: "xero",
792
+ resource: "ledger-accounts",
793
+ operation: "update",
794
+ data: {
795
+ id: "12345",
796
+ },
797
+ });
798
+ });
799
+
800
+ test("Ledgeraccounts Accounting Ledger Accounts Delete", async () => {
801
+ const testHttpClient = createTestHTTPClient(
802
+ "accounting.ledgerAccountsDelete",
803
+ );
804
+
805
+ const apideck = new Apideck({
806
+ serverURL: process.env["TEST_SERVER_URL"] ?? "http://localhost:18080",
807
+ httpClient: testHttpClient,
808
+ apiKey: process.env["APIDECK_API_KEY"] ?? "value",
809
+ });
810
+
811
+ const result = await apideck.accounting.ledgerAccounts.delete({
812
+ id: "<id>",
813
+ consumerId: "test-consumer",
814
+ appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX",
815
+ serviceId: "salesforce",
816
+ });
817
+ expect(result.httpMeta.response.status).toBe(200);
818
+ expect(result.deleteLedgerAccountResponse).toBeDefined();
819
+ expect(result.deleteLedgerAccountResponse).toEqual({
820
+ statusCode: 200,
821
+ status: "OK",
822
+ service: "xero",
823
+ resource: "ledger-accounts",
824
+ operation: "delete",
825
+ data: {
826
+ id: "12345",
827
+ },
828
+ });
829
+ });