@apideck/unify 0.26.0 → 0.28.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 (142) hide show
  1. package/README.md +5 -5
  2. package/docs/sdks/companies/README.md +4 -4
  3. package/examples/README.md +26 -0
  4. package/examples/accountingTaxRatesList.example.ts +41 -0
  5. package/examples/package-lock.json +613 -0
  6. package/examples/package.json +18 -0
  7. package/funcs/crmCompaniesCreate.js +1 -1
  8. package/funcs/crmCompaniesCreate.js.map +1 -1
  9. package/funcs/crmCompaniesUpdate.js +1 -1
  10. package/funcs/crmCompaniesUpdate.js.map +1 -1
  11. package/jsr.json +1 -1
  12. package/lib/config.d.ts +4 -4
  13. package/lib/config.js +4 -4
  14. package/models/components/bankaccount.d.ts +5 -0
  15. package/models/components/bankaccount.d.ts.map +1 -1
  16. package/models/components/bankaccount.js +2 -0
  17. package/models/components/bankaccount.js.map +1 -1
  18. package/models/components/bankaccount1.d.ts +123 -0
  19. package/models/components/bankaccount1.d.ts.map +1 -0
  20. package/models/components/bankaccount1.js +128 -0
  21. package/models/components/bankaccount1.js.map +1 -0
  22. package/models/components/{company.d.ts → company1.d.ts} +32 -32
  23. package/models/components/company1.d.ts.map +1 -0
  24. package/models/components/{company.js → company1.js} +37 -37
  25. package/models/components/company1.js.map +1 -0
  26. package/models/components/companyinfo.d.ts +5 -0
  27. package/models/components/companyinfo.d.ts.map +1 -1
  28. package/models/components/companyinfo.js +4 -0
  29. package/models/components/companyinfo.js.map +1 -1
  30. package/models/components/getcompaniesresponse.d.ts +3 -3
  31. package/models/components/getcompaniesresponse.d.ts.map +1 -1
  32. package/models/components/getcompaniesresponse.js +3 -3
  33. package/models/components/getcompaniesresponse.js.map +1 -1
  34. package/models/components/getcompanyresponse.d.ts +3 -3
  35. package/models/components/getcompanyresponse.d.ts.map +1 -1
  36. package/models/components/getcompanyresponse.js +3 -3
  37. package/models/components/getcompanyresponse.js.map +1 -1
  38. package/models/components/index.d.ts +2 -1
  39. package/models/components/index.d.ts.map +1 -1
  40. package/models/components/index.js +2 -1
  41. package/models/components/index.js.map +1 -1
  42. package/models/components/ledgeraccount.d.ts +9 -9
  43. package/models/components/ledgeraccount.d.ts.map +1 -1
  44. package/models/components/ledgeraccount.js +19 -15
  45. package/models/components/ledgeraccount.js.map +1 -1
  46. package/models/components/ledgeraccountsfilter.d.ts +61 -0
  47. package/models/components/ledgeraccountsfilter.d.ts.map +1 -1
  48. package/models/components/ledgeraccountsfilter.js +33 -1
  49. package/models/components/ledgeraccountsfilter.js.map +1 -1
  50. package/models/components/supplier.d.ts +10 -0
  51. package/models/components/supplier.d.ts.map +1 -1
  52. package/models/components/supplier.js +4 -0
  53. package/models/components/supplier.js.map +1 -1
  54. package/models/errors/apierror.d.ts.map +1 -1
  55. package/models/errors/apierror.js +8 -2
  56. package/models/errors/apierror.js.map +1 -1
  57. package/models/errors/badrequestresponse.js +1 -1
  58. package/models/errors/badrequestresponse.js.map +1 -1
  59. package/models/errors/notfoundresponse.js +1 -1
  60. package/models/errors/notfoundresponse.js.map +1 -1
  61. package/models/errors/paymentrequiredresponse.js +1 -1
  62. package/models/errors/paymentrequiredresponse.js.map +1 -1
  63. package/models/errors/unauthorizedresponse.js +1 -1
  64. package/models/errors/unauthorizedresponse.js.map +1 -1
  65. package/models/errors/unprocessableresponse.js +1 -1
  66. package/models/errors/unprocessableresponse.js.map +1 -1
  67. package/models/operations/crmcompaniesadd.d.ts +2 -2
  68. package/models/operations/crmcompaniesadd.d.ts.map +1 -1
  69. package/models/operations/crmcompaniesadd.js +4 -4
  70. package/models/operations/crmcompaniesadd.js.map +1 -1
  71. package/models/operations/crmcompaniesupdate.d.ts +2 -2
  72. package/models/operations/crmcompaniesupdate.d.ts.map +1 -1
  73. package/models/operations/crmcompaniesupdate.js +4 -4
  74. package/models/operations/crmcompaniesupdate.js.map +1 -1
  75. package/package.json +1 -1
  76. package/src/__tests__/activities.test.ts +360 -9
  77. package/src/__tests__/apideckcompanies.test.ts +373 -9
  78. package/src/__tests__/apideckdepartments.test.ts +181 -9
  79. package/src/__tests__/applicants.test.ts +473 -9
  80. package/src/__tests__/applications.test.ts +189 -9
  81. package/src/__tests__/billpayments.test.ts +367 -9
  82. package/src/__tests__/bills.test.ts +500 -9
  83. package/src/__tests__/collectionticketcomments.test.ts +183 -7
  84. package/src/__tests__/collectiontickets.test.ts +191 -7
  85. package/src/__tests__/companies.test.ts +538 -9
  86. package/src/__tests__/connections.test.ts +409 -5
  87. package/src/__tests__/connectionsettings.test.ts +410 -5
  88. package/src/__tests__/contacts.test.ts +466 -9
  89. package/src/__tests__/creditnotes.test.ts +758 -87
  90. package/src/__tests__/customers.test.ts +513 -9
  91. package/src/__tests__/customobjects.test.ts +150 -9
  92. package/src/__tests__/customobjectschemas.test.ts +321 -9
  93. package/src/__tests__/departments.test.ts +173 -9
  94. package/src/__tests__/drivegroups.test.ts +181 -9
  95. package/src/__tests__/drives.test.ts +179 -9
  96. package/src/__tests__/employees.test.ts +829 -94
  97. package/src/__tests__/expenses.test.ts +332 -9
  98. package/src/__tests__/files.test.ts +106 -5
  99. package/src/__tests__/folders.test.ts +296 -13
  100. package/src/__tests__/invoiceitems.test.ts +272 -9
  101. package/src/__tests__/invoices.test.ts +673 -67
  102. package/src/__tests__/journalentries.test.ts +490 -8
  103. package/src/__tests__/leads.test.ts +446 -9
  104. package/src/__tests__/ledgeraccounts.test.ts +237 -8
  105. package/src/__tests__/locations.test.ts +298 -9
  106. package/src/__tests__/messages.test.ts +195 -9
  107. package/src/__tests__/notes.test.ts +191 -9
  108. package/src/__tests__/opportunities.test.ts +218 -9
  109. package/src/__tests__/payments.test.ts +312 -9
  110. package/src/__tests__/pipelines.test.ts +194 -9
  111. package/src/__tests__/purchaseorders.test.ts +773 -104
  112. package/src/__tests__/sharedlinks.test.ts +183 -9
  113. package/src/__tests__/subsidiaries.test.ts +183 -9
  114. package/src/__tests__/suppliers.test.ts +505 -9
  115. package/src/__tests__/taxrates.test.ts +232 -9
  116. package/src/__tests__/timeoffrequests.test.ts +210 -9
  117. package/src/__tests__/trackingcategories.test.ts +187 -7
  118. package/src/__tests__/uploadsessions.test.ts +78 -5
  119. package/src/__tests__/users.test.ts +356 -9
  120. package/src/funcs/crmCompaniesCreate.ts +1 -1
  121. package/src/funcs/crmCompaniesUpdate.ts +1 -1
  122. package/src/lib/config.ts +4 -4
  123. package/src/models/components/bankaccount.ts +7 -0
  124. package/src/models/components/bankaccount1.ts +207 -0
  125. package/src/models/components/{company.ts → company1.ts} +131 -128
  126. package/src/models/components/companyinfo.ts +9 -0
  127. package/src/models/components/getcompaniesresponse.ts +9 -9
  128. package/src/models/components/getcompanyresponse.ts +9 -9
  129. package/src/models/components/index.ts +2 -1
  130. package/src/models/components/ledgeraccount.ts +25 -19
  131. package/src/models/components/ledgeraccountsfilter.ts +49 -0
  132. package/src/models/components/supplier.ts +14 -0
  133. package/src/models/errors/apierror.ts +8 -2
  134. package/src/models/errors/badrequestresponse.ts +1 -1
  135. package/src/models/errors/notfoundresponse.ts +1 -1
  136. package/src/models/errors/paymentrequiredresponse.ts +1 -1
  137. package/src/models/errors/unauthorizedresponse.ts +1 -1
  138. package/src/models/errors/unprocessableresponse.ts +1 -1
  139. package/src/models/operations/crmcompaniesadd.ts +6 -6
  140. package/src/models/operations/crmcompaniesupdate.ts +6 -6
  141. package/models/components/company.d.ts.map +0 -1
  142. package/models/components/company.js.map +0 -1
@@ -2,7 +2,7 @@
2
2
  * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
3
  */
4
4
 
5
- import { assert, expect, it, test } from "vitest";
5
+ import { expect, test } from "vitest";
6
6
  import { Apideck } from "../index.js";
7
7
  import { RFCDate } from "../types/index.js";
8
8
  import { createTestHTTPClient } from "./testclient.js";
@@ -1193,14 +1193,806 @@ test("Employees Hris Employees All", async () => {
1193
1193
  });
1194
1194
  });
1195
1195
 
1196
- it.skip("Employees Hris Employees Add", async () => {
1197
- assert.fail(
1198
- "incomplete test found please make sure to address the following errors: [`workflow step hris.employeesAdd.test referencing operation hris.employeesAdd with expression in requestBody with type not currently supported`, `workflow step hris.employeesAdd.test referencing operation hris.employeesAdd with expression in requestBody with type not currently supported`, `workflow step hris.employeesAdd.test referencing operation hris.employeesAdd with expression in requestBody with type not currently supported`]",
1199
- );
1196
+ test("Employees Hris Employees Add", async () => {
1197
+ const testHttpClient = createTestHTTPClient("hris.employeesAdd");
1198
+
1199
+ const apideck = new Apideck({
1200
+ serverURL: process.env["TEST_SERVER_URL"] ?? "http://localhost:18080",
1201
+ httpClient: testHttpClient,
1202
+ apiKey: process.env["APIDECK_API_KEY"] ?? "value",
1203
+ });
1204
+
1205
+ const result = await apideck.hris.employees.create({
1206
+ consumerId: "test-consumer",
1207
+ appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX",
1208
+ serviceId: "salesforce",
1209
+ employee: {
1210
+ id: "12345",
1211
+ firstName: "Elon",
1212
+ lastName: "Musk",
1213
+ middleName: "D.",
1214
+ displayName: "Technoking",
1215
+ preferredName: "Elon Musk",
1216
+ initials: "EM",
1217
+ salutation: "Mr",
1218
+ title: "CEO",
1219
+ maritalStatus: "married",
1220
+ partner: {
1221
+ firstName: "Elon",
1222
+ lastName: "Musk",
1223
+ middleName: "D.",
1224
+ gender: "male",
1225
+ initials: "EM",
1226
+ birthday: new RFCDate("2000-08-12"),
1227
+ deceasedOn: new RFCDate("2000-08-12"),
1228
+ },
1229
+ division: "Europe",
1230
+ divisionId: "12345",
1231
+ departmentId: "12345",
1232
+ departmentName: "12345",
1233
+ team: {
1234
+ id: "1234",
1235
+ name: "Full Stack Engineers",
1236
+ },
1237
+ companyId: "23456",
1238
+ companyName: "SpaceX",
1239
+ employmentStartDate: "2021-10-26",
1240
+ employmentEndDate: "2028-10-26",
1241
+ leavingReason: "resigned",
1242
+ employeeNumber: "123456-AB",
1243
+ employmentStatus: "active",
1244
+ ethnicity: "African American",
1245
+ manager: {
1246
+ id: "12345",
1247
+ name: "Elon Musk",
1248
+ firstName: "Elon",
1249
+ lastName: "Musk",
1250
+ email: "elon@musk.com",
1251
+ employmentStatus: "active",
1252
+ },
1253
+ directReports: [
1254
+ "a0d636c6-43b3-4bde-8c70-85b707d992f4",
1255
+ "a98lfd96-43b3-4bde-8c70-85b707d992e6",
1256
+ ],
1257
+ socialSecurityNumber: "123456789",
1258
+ birthday: new RFCDate("2000-08-12"),
1259
+ deceasedOn: new RFCDate("2000-08-12"),
1260
+ countryOfBirth: "US",
1261
+ description: "A description",
1262
+ gender: "male",
1263
+ pronouns: "she,her",
1264
+ preferredLanguage: "EN",
1265
+ languages: [
1266
+ "EN",
1267
+ ],
1268
+ nationalities: [
1269
+ "US",
1270
+ ],
1271
+ photoUrl: "https://unavatar.io/elon-musk",
1272
+ timezone: "Europe/London",
1273
+ source: "lever",
1274
+ sourceId: "12345",
1275
+ recordUrl: "https://app.intercom.io/contacts/12345",
1276
+ jobs: [
1277
+ {
1278
+ title: "CEO",
1279
+ role: "Sales",
1280
+ startDate: new RFCDate("2020-08-12"),
1281
+ endDate: new RFCDate("2020-08-12"),
1282
+ compensationRate: 72000,
1283
+ currency: "USD",
1284
+ paymentUnit: "year",
1285
+ hiredAt: new RFCDate("2020-08-12"),
1286
+ isPrimary: true,
1287
+ isManager: true,
1288
+ status: "active",
1289
+ location: {
1290
+ id: "123",
1291
+ type: "primary",
1292
+ string: "25 Spring Street, Blackburn, VIC 3130",
1293
+ name: "HQ US",
1294
+ line1: "Main street",
1295
+ line2: "apt #",
1296
+ line3: "Suite #",
1297
+ line4: "delivery instructions",
1298
+ streetNumber: "25",
1299
+ city: "San Francisco",
1300
+ state: "CA",
1301
+ postalCode: "94104",
1302
+ country: "US",
1303
+ latitude: "40.759211",
1304
+ longitude: "-73.984638",
1305
+ county: "Santa Clara",
1306
+ contactName: "Elon Musk",
1307
+ salutation: "Mr",
1308
+ phoneNumber: "111-111-1111",
1309
+ fax: "122-111-1111",
1310
+ email: "elon@musk.com",
1311
+ website: "https://elonmusk.com",
1312
+ notes: "Address notes or delivery instructions.",
1313
+ rowVersion: "1-12345",
1314
+ },
1315
+ },
1316
+ {
1317
+ title: "CEO",
1318
+ role: "Sales",
1319
+ startDate: new RFCDate("2020-08-12"),
1320
+ endDate: new RFCDate("2020-08-12"),
1321
+ compensationRate: 72000,
1322
+ currency: "USD",
1323
+ paymentUnit: "year",
1324
+ hiredAt: new RFCDate("2020-08-12"),
1325
+ isPrimary: true,
1326
+ isManager: true,
1327
+ status: "active",
1328
+ location: {
1329
+ id: "123",
1330
+ type: "primary",
1331
+ string: "25 Spring Street, Blackburn, VIC 3130",
1332
+ name: "HQ US",
1333
+ line1: "Main street",
1334
+ line2: "apt #",
1335
+ line3: "Suite #",
1336
+ line4: "delivery instructions",
1337
+ streetNumber: "25",
1338
+ city: "San Francisco",
1339
+ state: "CA",
1340
+ postalCode: "94104",
1341
+ country: "US",
1342
+ latitude: "40.759211",
1343
+ longitude: "-73.984638",
1344
+ county: "Santa Clara",
1345
+ contactName: "Elon Musk",
1346
+ salutation: "Mr",
1347
+ phoneNumber: "111-111-1111",
1348
+ fax: "122-111-1111",
1349
+ email: "elon@musk.com",
1350
+ website: "https://elonmusk.com",
1351
+ notes: "Address notes or delivery instructions.",
1352
+ rowVersion: "1-12345",
1353
+ },
1354
+ },
1355
+ ],
1356
+ compensations: [
1357
+ {
1358
+ rate: 50,
1359
+ paymentUnit: "hour",
1360
+ flsaStatus: "nonexempt",
1361
+ effectiveDate: "2021-06-11",
1362
+ },
1363
+ ],
1364
+ worksRemote: true,
1365
+ addresses: [
1366
+ {
1367
+ id: "123",
1368
+ type: "primary",
1369
+ string: "25 Spring Street, Blackburn, VIC 3130",
1370
+ name: "HQ US",
1371
+ line1: "Main street",
1372
+ line2: "apt #",
1373
+ line3: "Suite #",
1374
+ line4: "delivery instructions",
1375
+ streetNumber: "25",
1376
+ city: "San Francisco",
1377
+ state: "CA",
1378
+ postalCode: "94104",
1379
+ country: "US",
1380
+ latitude: "40.759211",
1381
+ longitude: "-73.984638",
1382
+ county: "Santa Clara",
1383
+ contactName: "Elon Musk",
1384
+ salutation: "Mr",
1385
+ phoneNumber: "111-111-1111",
1386
+ fax: "122-111-1111",
1387
+ email: "elon@musk.com",
1388
+ website: "https://elonmusk.com",
1389
+ notes: "Address notes or delivery instructions.",
1390
+ rowVersion: "1-12345",
1391
+ },
1392
+ {
1393
+ id: "123",
1394
+ type: "primary",
1395
+ string: "25 Spring Street, Blackburn, VIC 3130",
1396
+ name: "HQ US",
1397
+ line1: "Main street",
1398
+ line2: "apt #",
1399
+ line3: "Suite #",
1400
+ line4: "delivery instructions",
1401
+ streetNumber: "25",
1402
+ city: "San Francisco",
1403
+ state: "CA",
1404
+ postalCode: "94104",
1405
+ country: "US",
1406
+ latitude: "40.759211",
1407
+ longitude: "-73.984638",
1408
+ county: "Santa Clara",
1409
+ contactName: "Elon Musk",
1410
+ salutation: "Mr",
1411
+ phoneNumber: "111-111-1111",
1412
+ fax: "122-111-1111",
1413
+ email: "elon@musk.com",
1414
+ website: "https://elonmusk.com",
1415
+ notes: "Address notes or delivery instructions.",
1416
+ rowVersion: "1-12345",
1417
+ },
1418
+ ],
1419
+ phoneNumbers: [
1420
+ {
1421
+ id: "12345",
1422
+ countryCode: "1",
1423
+ areaCode: "323",
1424
+ number: "111-111-1111",
1425
+ extension: "105",
1426
+ type: "primary",
1427
+ },
1428
+ {
1429
+ id: "12345",
1430
+ countryCode: "1",
1431
+ areaCode: "323",
1432
+ number: "111-111-1111",
1433
+ extension: "105",
1434
+ type: "primary",
1435
+ },
1436
+ ],
1437
+ emails: [
1438
+ {
1439
+ id: "123",
1440
+ email: "elon@musk.com",
1441
+ type: "primary",
1442
+ },
1443
+ ],
1444
+ customFields: [
1445
+ {
1446
+ id: "2389328923893298",
1447
+ name: "employee_level",
1448
+ description: "Employee Level",
1449
+ value: [
1450
+ "<value>",
1451
+ "<value>",
1452
+ "<value>",
1453
+ ],
1454
+ },
1455
+ ],
1456
+ socialLinks: [
1457
+ {
1458
+ id: "12345",
1459
+ url: "https://www.twitter.com/apideck",
1460
+ type: "twitter",
1461
+ },
1462
+ ],
1463
+ bankAccounts: [
1464
+ {
1465
+ bankName: "Monzo",
1466
+ accountNumber: "123465",
1467
+ accountName: "SPACEX LLC",
1468
+ accountType: "credit_card",
1469
+ iban: "CH2989144532982975332",
1470
+ bic: "AUDSCHGGXXX",
1471
+ routingNumber: "012345678",
1472
+ bsbNumber: "062-001",
1473
+ branchIdentifier: "001",
1474
+ bankCode: "BNH",
1475
+ currency: "USD",
1476
+ },
1477
+ ],
1478
+ taxCode: "1111",
1479
+ taxId: "234-32-0000",
1480
+ dietaryPreference: "Veggie",
1481
+ foodAllergies: [
1482
+ "No allergies",
1483
+ ],
1484
+ probationPeriod: {
1485
+ startDate: new RFCDate("2021-10-01"),
1486
+ endDate: new RFCDate("2021-11-28"),
1487
+ },
1488
+ tags: [
1489
+ "New",
1490
+ ],
1491
+ rowVersion: "1-12345",
1492
+ deleted: true,
1493
+ passThrough: [
1494
+ {
1495
+ serviceId: "<id>",
1496
+ extendPaths: [
1497
+ {
1498
+ path: "$.nested.property",
1499
+ value: {
1500
+ "TaxClassificationRef": {
1501
+ "value": "EUC-99990201-V1-00020000",
1502
+ },
1503
+ },
1504
+ },
1505
+ {
1506
+ path: "$.nested.property",
1507
+ value: {
1508
+ "TaxClassificationRef": {
1509
+ "value": "EUC-99990201-V1-00020000",
1510
+ },
1511
+ },
1512
+ },
1513
+ {
1514
+ path: "$.nested.property",
1515
+ value: {
1516
+ "TaxClassificationRef": {
1517
+ "value": "EUC-99990201-V1-00020000",
1518
+ },
1519
+ },
1520
+ },
1521
+ ],
1522
+ },
1523
+ ],
1524
+ },
1525
+ });
1526
+ expect(result.httpMeta.response.status).toBe(201);
1527
+ expect(result.createEmployeeResponse).toBeDefined();
1528
+ expect(result.createEmployeeResponse).toEqual({
1529
+ statusCode: 200,
1530
+ status: "OK",
1531
+ service: "sage-hr",
1532
+ resource: "Employees",
1533
+ operation: "add",
1534
+ data: {
1535
+ id: "12345",
1536
+ },
1537
+ });
1538
+ });
1539
+
1540
+ test("Employees Hris Employees One", async () => {
1541
+ const testHttpClient = createTestHTTPClient("hris.employeesOne");
1542
+
1543
+ const apideck = new Apideck({
1544
+ serverURL: process.env["TEST_SERVER_URL"] ?? "http://localhost:18080",
1545
+ httpClient: testHttpClient,
1546
+ apiKey: process.env["APIDECK_API_KEY"] ?? "value",
1547
+ });
1548
+
1549
+ const result = await apideck.hris.employees.get({
1550
+ id: "<id>",
1551
+ consumerId: "test-consumer",
1552
+ appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX",
1553
+ serviceId: "salesforce",
1554
+ fields: "id,updated_at",
1555
+ filter: {
1556
+ companyId: "1234",
1557
+ },
1558
+ passThrough: {
1559
+ "search": "San Francisco",
1560
+ },
1561
+ });
1562
+ expect(result.httpMeta.response.status).toBe(200);
1563
+ expect(result.getEmployeeResponse).toBeDefined();
1564
+ expect(result.getEmployeeResponse).toEqual({
1565
+ statusCode: 200,
1566
+ status: "OK",
1567
+ service: "sage-hr",
1568
+ resource: "Employees",
1569
+ operation: "one",
1570
+ data: {
1571
+ id: "12345",
1572
+ downstreamId: "12345",
1573
+ firstName: "Elon",
1574
+ lastName: "Musk",
1575
+ middleName: "D.",
1576
+ displayName: "Technoking",
1577
+ preferredName: "Elon Musk",
1578
+ initials: "EM",
1579
+ salutation: "Mr",
1580
+ title: "CEO",
1581
+ maritalStatus: "married",
1582
+ partner: {
1583
+ id: "12345",
1584
+ firstName: "Elon",
1585
+ lastName: "Musk",
1586
+ middleName: "D.",
1587
+ gender: "male",
1588
+ initials: "EM",
1589
+ birthday: new RFCDate("2000-08-12"),
1590
+ deceasedOn: new RFCDate("2000-08-12"),
1591
+ },
1592
+ division: "Europe",
1593
+ divisionId: "12345",
1594
+ departmentId: "12345",
1595
+ departmentName: "12345",
1596
+ team: {
1597
+ id: "1234",
1598
+ name: "Full Stack Engineers",
1599
+ },
1600
+ companyId: "23456",
1601
+ companyName: "SpaceX",
1602
+ employmentStartDate: "2021-10-26",
1603
+ employmentEndDate: "2028-10-26",
1604
+ leavingReason: "resigned",
1605
+ employeeNumber: "123456-AB",
1606
+ employmentStatus: "active",
1607
+ ethnicity: "African American",
1608
+ manager: {
1609
+ id: "12345",
1610
+ name: "Elon Musk",
1611
+ firstName: "Elon",
1612
+ lastName: "Musk",
1613
+ email: "elon@musk.com",
1614
+ employmentStatus: "active",
1615
+ },
1616
+ directReports: [
1617
+ "a0d636c6-43b3-4bde-8c70-85b707d992f4",
1618
+ "a98lfd96-43b3-4bde-8c70-85b707d992e6",
1619
+ ],
1620
+ socialSecurityNumber: "123456789",
1621
+ birthday: new RFCDate("2000-08-12"),
1622
+ deceasedOn: new RFCDate("2000-08-12"),
1623
+ countryOfBirth: "US",
1624
+ description: "A description",
1625
+ gender: "male",
1626
+ pronouns: "she,her",
1627
+ preferredLanguage: "EN",
1628
+ languages: [
1629
+ "EN",
1630
+ ],
1631
+ nationalities: [
1632
+ "US",
1633
+ ],
1634
+ photoUrl: "https://unavatar.io/elon-musk",
1635
+ timezone: "Europe/London",
1636
+ source: "lever",
1637
+ sourceId: "12345",
1638
+ recordUrl: "https://app.intercom.io/contacts/12345",
1639
+ jobs: [
1640
+ {
1641
+ id: "12345",
1642
+ employeeId: "12345",
1643
+ title: "CEO",
1644
+ role: "Sales",
1645
+ startDate: new RFCDate("2020-08-12"),
1646
+ endDate: new RFCDate("2020-08-12"),
1647
+ compensationRate: 72000,
1648
+ currency: "USD",
1649
+ paymentUnit: "year",
1650
+ hiredAt: new RFCDate("2020-08-12"),
1651
+ isPrimary: true,
1652
+ isManager: true,
1653
+ status: "active",
1654
+ location: {
1655
+ id: "123",
1656
+ type: "primary",
1657
+ string: "25 Spring Street, Blackburn, VIC 3130",
1658
+ name: "HQ US",
1659
+ line1: "Main street",
1660
+ line2: "apt #",
1661
+ line3: "Suite #",
1662
+ line4: "delivery instructions",
1663
+ streetNumber: "25",
1664
+ city: "San Francisco",
1665
+ state: "CA",
1666
+ postalCode: "94104",
1667
+ country: "US",
1668
+ latitude: "40.759211",
1669
+ longitude: "-73.984638",
1670
+ county: "Santa Clara",
1671
+ contactName: "Elon Musk",
1672
+ salutation: "Mr",
1673
+ phoneNumber: "111-111-1111",
1674
+ fax: "122-111-1111",
1675
+ email: "elon@musk.com",
1676
+ website: "https://elonmusk.com",
1677
+ notes: "Address notes or delivery instructions.",
1678
+ rowVersion: "1-12345",
1679
+ },
1680
+ },
1681
+ {
1682
+ id: "12345",
1683
+ employeeId: "12345",
1684
+ title: "CEO",
1685
+ role: "Sales",
1686
+ startDate: new RFCDate("2020-08-12"),
1687
+ endDate: new RFCDate("2020-08-12"),
1688
+ compensationRate: 72000,
1689
+ currency: "USD",
1690
+ paymentUnit: "year",
1691
+ hiredAt: new RFCDate("2020-08-12"),
1692
+ isPrimary: true,
1693
+ isManager: true,
1694
+ status: "active",
1695
+ location: {
1696
+ id: "123",
1697
+ type: "primary",
1698
+ string: "25 Spring Street, Blackburn, VIC 3130",
1699
+ name: "HQ US",
1700
+ line1: "Main street",
1701
+ line2: "apt #",
1702
+ line3: "Suite #",
1703
+ line4: "delivery instructions",
1704
+ streetNumber: "25",
1705
+ city: "San Francisco",
1706
+ state: "CA",
1707
+ postalCode: "94104",
1708
+ country: "US",
1709
+ latitude: "40.759211",
1710
+ longitude: "-73.984638",
1711
+ county: "Santa Clara",
1712
+ contactName: "Elon Musk",
1713
+ salutation: "Mr",
1714
+ phoneNumber: "111-111-1111",
1715
+ fax: "122-111-1111",
1716
+ email: "elon@musk.com",
1717
+ website: "https://elonmusk.com",
1718
+ notes: "Address notes or delivery instructions.",
1719
+ rowVersion: "1-12345",
1720
+ },
1721
+ },
1722
+ {
1723
+ id: "12345",
1724
+ employeeId: "12345",
1725
+ title: "CEO",
1726
+ role: "Sales",
1727
+ startDate: new RFCDate("2020-08-12"),
1728
+ endDate: new RFCDate("2020-08-12"),
1729
+ compensationRate: 72000,
1730
+ currency: "USD",
1731
+ paymentUnit: "year",
1732
+ hiredAt: new RFCDate("2020-08-12"),
1733
+ isPrimary: true,
1734
+ isManager: true,
1735
+ status: "active",
1736
+ location: {
1737
+ id: "123",
1738
+ type: "primary",
1739
+ string: "25 Spring Street, Blackburn, VIC 3130",
1740
+ name: "HQ US",
1741
+ line1: "Main street",
1742
+ line2: "apt #",
1743
+ line3: "Suite #",
1744
+ line4: "delivery instructions",
1745
+ streetNumber: "25",
1746
+ city: "San Francisco",
1747
+ state: "CA",
1748
+ postalCode: "94104",
1749
+ country: "US",
1750
+ latitude: "40.759211",
1751
+ longitude: "-73.984638",
1752
+ county: "Santa Clara",
1753
+ contactName: "Elon Musk",
1754
+ salutation: "Mr",
1755
+ phoneNumber: "111-111-1111",
1756
+ fax: "122-111-1111",
1757
+ email: "elon@musk.com",
1758
+ website: "https://elonmusk.com",
1759
+ notes: "Address notes or delivery instructions.",
1760
+ rowVersion: "1-12345",
1761
+ },
1762
+ },
1763
+ ],
1764
+ compensations: [
1765
+ {
1766
+ id: "3404301363494309004",
1767
+ jobId: "3490439050957906679",
1768
+ rate: 50,
1769
+ paymentUnit: "hour",
1770
+ flsaStatus: "nonexempt",
1771
+ effectiveDate: "2021-06-11",
1772
+ },
1773
+ ],
1774
+ worksRemote: true,
1775
+ addresses: [
1776
+ {
1777
+ id: "123",
1778
+ type: "primary",
1779
+ string: "25 Spring Street, Blackburn, VIC 3130",
1780
+ name: "HQ US",
1781
+ line1: "Main street",
1782
+ line2: "apt #",
1783
+ line3: "Suite #",
1784
+ line4: "delivery instructions",
1785
+ streetNumber: "25",
1786
+ city: "San Francisco",
1787
+ state: "CA",
1788
+ postalCode: "94104",
1789
+ country: "US",
1790
+ latitude: "40.759211",
1791
+ longitude: "-73.984638",
1792
+ county: "Santa Clara",
1793
+ contactName: "Elon Musk",
1794
+ salutation: "Mr",
1795
+ phoneNumber: "111-111-1111",
1796
+ fax: "122-111-1111",
1797
+ email: "elon@musk.com",
1798
+ website: "https://elonmusk.com",
1799
+ notes: "Address notes or delivery instructions.",
1800
+ rowVersion: "1-12345",
1801
+ },
1802
+ {
1803
+ id: "123",
1804
+ type: "primary",
1805
+ string: "25 Spring Street, Blackburn, VIC 3130",
1806
+ name: "HQ US",
1807
+ line1: "Main street",
1808
+ line2: "apt #",
1809
+ line3: "Suite #",
1810
+ line4: "delivery instructions",
1811
+ streetNumber: "25",
1812
+ city: "San Francisco",
1813
+ state: "CA",
1814
+ postalCode: "94104",
1815
+ country: "US",
1816
+ latitude: "40.759211",
1817
+ longitude: "-73.984638",
1818
+ county: "Santa Clara",
1819
+ contactName: "Elon Musk",
1820
+ salutation: "Mr",
1821
+ phoneNumber: "111-111-1111",
1822
+ fax: "122-111-1111",
1823
+ email: "elon@musk.com",
1824
+ website: "https://elonmusk.com",
1825
+ notes: "Address notes or delivery instructions.",
1826
+ rowVersion: "1-12345",
1827
+ },
1828
+ ],
1829
+ phoneNumbers: [
1830
+ {
1831
+ id: "12345",
1832
+ countryCode: "1",
1833
+ areaCode: "323",
1834
+ number: "111-111-1111",
1835
+ extension: "105",
1836
+ type: "primary",
1837
+ },
1838
+ {
1839
+ id: "12345",
1840
+ countryCode: "1",
1841
+ areaCode: "323",
1842
+ number: "111-111-1111",
1843
+ extension: "105",
1844
+ type: "primary",
1845
+ },
1846
+ ],
1847
+ emails: [
1848
+ {
1849
+ id: "123",
1850
+ email: "elon@musk.com",
1851
+ type: "primary",
1852
+ },
1853
+ {
1854
+ id: "123",
1855
+ email: "elon@musk.com",
1856
+ type: "primary",
1857
+ },
1858
+ ],
1859
+ customFields: [
1860
+ {
1861
+ id: "2389328923893298",
1862
+ name: "employee_level",
1863
+ description: "Employee Level",
1864
+ value: true,
1865
+ },
1866
+ {
1867
+ id: "2389328923893298",
1868
+ name: "employee_level",
1869
+ description: "Employee Level",
1870
+ value: true,
1871
+ },
1872
+ {
1873
+ id: "2389328923893298",
1874
+ name: "employee_level",
1875
+ description: "Employee Level",
1876
+ value: 10,
1877
+ },
1878
+ ],
1879
+ socialLinks: [
1880
+ {
1881
+ id: "12345",
1882
+ url: "https://www.twitter.com/apideck",
1883
+ type: "twitter",
1884
+ },
1885
+ ],
1886
+ bankAccounts: [
1887
+ {
1888
+ bankName: "Monzo",
1889
+ accountNumber: "123465",
1890
+ accountName: "SPACEX LLC",
1891
+ accountType: "credit_card",
1892
+ iban: "CH2989144532982975332",
1893
+ bic: "AUDSCHGGXXX",
1894
+ routingNumber: "012345678",
1895
+ bsbNumber: "062-001",
1896
+ branchIdentifier: "001",
1897
+ bankCode: "BNH",
1898
+ currency: "USD",
1899
+ },
1900
+ {
1901
+ bankName: "Monzo",
1902
+ accountNumber: "123465",
1903
+ accountName: "SPACEX LLC",
1904
+ accountType: "credit_card",
1905
+ iban: "CH2989144532982975332",
1906
+ bic: "AUDSCHGGXXX",
1907
+ routingNumber: "012345678",
1908
+ bsbNumber: "062-001",
1909
+ branchIdentifier: "001",
1910
+ bankCode: "BNH",
1911
+ currency: "USD",
1912
+ },
1913
+ {
1914
+ bankName: "Monzo",
1915
+ accountNumber: "123465",
1916
+ accountName: "SPACEX LLC",
1917
+ accountType: "credit_card",
1918
+ iban: "CH2989144532982975332",
1919
+ bic: "AUDSCHGGXXX",
1920
+ routingNumber: "012345678",
1921
+ bsbNumber: "062-001",
1922
+ branchIdentifier: "001",
1923
+ bankCode: "BNH",
1924
+ currency: "USD",
1925
+ },
1926
+ ],
1927
+ taxCode: "1111",
1928
+ taxId: "234-32-0000",
1929
+ dietaryPreference: "Veggie",
1930
+ foodAllergies: [
1931
+ "No allergies",
1932
+ ],
1933
+ probationPeriod: {
1934
+ startDate: new RFCDate("2021-10-01"),
1935
+ endDate: new RFCDate("2021-11-28"),
1936
+ },
1937
+ tags: [
1938
+ "New",
1939
+ ],
1940
+ rowVersion: "1-12345",
1941
+ deleted: true,
1942
+ updatedBy: "12345",
1943
+ createdBy: "12345",
1944
+ updatedAt: new Date("2020-09-30T07:43:32.000Z"),
1945
+ createdAt: new Date("2020-09-30T07:43:32.000Z"),
1946
+ passThrough: [
1947
+ {
1948
+ serviceId: "<id>",
1949
+ extendPaths: [
1950
+ {
1951
+ path: "$.nested.property",
1952
+ value: {
1953
+ "TaxClassificationRef": {
1954
+ "value": "EUC-99990201-V1-00020000",
1955
+ },
1956
+ },
1957
+ },
1958
+ {
1959
+ path: "$.nested.property",
1960
+ value: {
1961
+ "TaxClassificationRef": {
1962
+ "value": "EUC-99990201-V1-00020000",
1963
+ },
1964
+ },
1965
+ },
1966
+ {
1967
+ path: "$.nested.property",
1968
+ value: {
1969
+ "TaxClassificationRef": {
1970
+ "value": "EUC-99990201-V1-00020000",
1971
+ },
1972
+ },
1973
+ },
1974
+ ],
1975
+ },
1976
+ {
1977
+ serviceId: "<id>",
1978
+ extendPaths: [
1979
+ {
1980
+ path: "$.nested.property",
1981
+ value: {
1982
+ "TaxClassificationRef": {
1983
+ "value": "EUC-99990201-V1-00020000",
1984
+ },
1985
+ },
1986
+ },
1987
+ ],
1988
+ },
1989
+ ],
1990
+ },
1991
+ });
1200
1992
  });
1201
1993
 
1202
- test("Employees Hris Employees One", async () => {
1203
- const testHttpClient = createTestHTTPClient("hris.employeesOne");
1994
+ test("Employees Hris Employees Update", async () => {
1995
+ const testHttpClient = createTestHTTPClient("hris.employeesUpdate");
1204
1996
 
1205
1997
  const apideck = new Apideck({
1206
1998
  serverURL: process.env["TEST_SERVER_URL"] ?? "http://localhost:18080",
@@ -1208,30 +2000,13 @@ test("Employees Hris Employees One", async () => {
1208
2000
  apiKey: process.env["APIDECK_API_KEY"] ?? "value",
1209
2001
  });
1210
2002
 
1211
- const result = await apideck.hris.employees.get({
2003
+ const result = await apideck.hris.employees.update({
1212
2004
  id: "<id>",
1213
2005
  consumerId: "test-consumer",
1214
2006
  appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX",
1215
2007
  serviceId: "salesforce",
1216
- fields: "id,updated_at",
1217
- filter: {
1218
- companyId: "1234",
1219
- },
1220
- passThrough: {
1221
- "search": "San Francisco",
1222
- },
1223
- });
1224
- expect(result.httpMeta.response.status).toBe(200);
1225
- expect(result.getEmployeeResponse).toBeDefined();
1226
- expect(result.getEmployeeResponse).toEqual({
1227
- statusCode: 200,
1228
- status: "OK",
1229
- service: "sage-hr",
1230
- resource: "Employees",
1231
- operation: "one",
1232
- data: {
2008
+ employee: {
1233
2009
  id: "12345",
1234
- downstreamId: "12345",
1235
2010
  firstName: "Elon",
1236
2011
  lastName: "Musk",
1237
2012
  middleName: "D.",
@@ -1242,7 +2017,6 @@ test("Employees Hris Employees One", async () => {
1242
2017
  title: "CEO",
1243
2018
  maritalStatus: "married",
1244
2019
  partner: {
1245
- id: "12345",
1246
2020
  firstName: "Elon",
1247
2021
  lastName: "Musk",
1248
2022
  middleName: "D.",
@@ -1300,8 +2074,6 @@ test("Employees Hris Employees One", async () => {
1300
2074
  recordUrl: "https://app.intercom.io/contacts/12345",
1301
2075
  jobs: [
1302
2076
  {
1303
- id: "12345",
1304
- employeeId: "12345",
1305
2077
  title: "CEO",
1306
2078
  role: "Sales",
1307
2079
  startDate: new RFCDate("2020-08-12"),
@@ -1341,8 +2113,6 @@ test("Employees Hris Employees One", async () => {
1341
2113
  },
1342
2114
  },
1343
2115
  {
1344
- id: "12345",
1345
- employeeId: "12345",
1346
2116
  title: "CEO",
1347
2117
  role: "Sales",
1348
2118
  startDate: new RFCDate("2020-08-12"),
@@ -1382,8 +2152,6 @@ test("Employees Hris Employees One", async () => {
1382
2152
  },
1383
2153
  },
1384
2154
  {
1385
- id: "12345",
1386
- employeeId: "12345",
1387
2155
  title: "CEO",
1388
2156
  role: "Sales",
1389
2157
  startDate: new RFCDate("2020-08-12"),
@@ -1425,8 +2193,6 @@ test("Employees Hris Employees One", async () => {
1425
2193
  ],
1426
2194
  compensations: [
1427
2195
  {
1428
- id: "3404301363494309004",
1429
- jobId: "3490439050957906679",
1430
2196
  rate: 50,
1431
2197
  paymentUnit: "hour",
1432
2198
  flsaStatus: "nonexempt",
@@ -1517,14 +2283,13 @@ test("Employees Hris Employees One", async () => {
1517
2283
  email: "elon@musk.com",
1518
2284
  type: "primary",
1519
2285
  },
1520
- ],
1521
- customFields: [
1522
2286
  {
1523
- id: "2389328923893298",
1524
- name: "employee_level",
1525
- description: "Employee Level",
1526
- value: true,
2287
+ id: "123",
2288
+ email: "elon@musk.com",
2289
+ type: "primary",
1527
2290
  },
2291
+ ],
2292
+ customFields: [
1528
2293
  {
1529
2294
  id: "2389328923893298",
1530
2295
  name: "employee_level",
@@ -1535,7 +2300,7 @@ test("Employees Hris Employees One", async () => {
1535
2300
  id: "2389328923893298",
1536
2301
  name: "employee_level",
1537
2302
  description: "Employee Level",
1538
- value: 10,
2303
+ value: {},
1539
2304
  },
1540
2305
  ],
1541
2306
  socialLinks: [
@@ -1544,21 +2309,18 @@ test("Employees Hris Employees One", async () => {
1544
2309
  url: "https://www.twitter.com/apideck",
1545
2310
  type: "twitter",
1546
2311
  },
1547
- ],
1548
- bankAccounts: [
1549
2312
  {
1550
- bankName: "Monzo",
1551
- accountNumber: "123465",
1552
- accountName: "SPACEX LLC",
1553
- accountType: "credit_card",
1554
- iban: "CH2989144532982975332",
1555
- bic: "AUDSCHGGXXX",
1556
- routingNumber: "012345678",
1557
- bsbNumber: "062-001",
1558
- branchIdentifier: "001",
1559
- bankCode: "BNH",
1560
- currency: "USD",
2313
+ id: "12345",
2314
+ url: "https://www.twitter.com/apideck",
2315
+ type: "twitter",
2316
+ },
2317
+ {
2318
+ id: "12345",
2319
+ url: "https://www.twitter.com/apideck",
2320
+ type: "twitter",
1561
2321
  },
2322
+ ],
2323
+ bankAccounts: [
1562
2324
  {
1563
2325
  bankName: "Monzo",
1564
2326
  accountNumber: "123465",
@@ -1601,40 +2363,7 @@ test("Employees Hris Employees One", async () => {
1601
2363
  ],
1602
2364
  rowVersion: "1-12345",
1603
2365
  deleted: true,
1604
- updatedBy: "12345",
1605
- createdBy: "12345",
1606
- updatedAt: new Date("2020-09-30T07:43:32.000Z"),
1607
- createdAt: new Date("2020-09-30T07:43:32.000Z"),
1608
2366
  passThrough: [
1609
- {
1610
- serviceId: "<id>",
1611
- extendPaths: [
1612
- {
1613
- path: "$.nested.property",
1614
- value: {
1615
- "TaxClassificationRef": {
1616
- "value": "EUC-99990201-V1-00020000",
1617
- },
1618
- },
1619
- },
1620
- {
1621
- path: "$.nested.property",
1622
- value: {
1623
- "TaxClassificationRef": {
1624
- "value": "EUC-99990201-V1-00020000",
1625
- },
1626
- },
1627
- },
1628
- {
1629
- path: "$.nested.property",
1630
- value: {
1631
- "TaxClassificationRef": {
1632
- "value": "EUC-99990201-V1-00020000",
1633
- },
1634
- },
1635
- },
1636
- ],
1637
- },
1638
2367
  {
1639
2368
  serviceId: "<id>",
1640
2369
  extendPaths: [
@@ -1651,12 +2380,18 @@ test("Employees Hris Employees One", async () => {
1651
2380
  ],
1652
2381
  },
1653
2382
  });
1654
- });
1655
-
1656
- it.skip("Employees Hris Employees Update", async () => {
1657
- assert.fail(
1658
- "incomplete test found please make sure to address the following errors: [`workflow step hris.employeesUpdate.test referencing operation hris.employeesUpdate with expression in requestBody with type not currently supported`]",
1659
- );
2383
+ expect(result.httpMeta.response.status).toBe(200);
2384
+ expect(result.updateEmployeeResponse).toBeDefined();
2385
+ expect(result.updateEmployeeResponse).toEqual({
2386
+ statusCode: 200,
2387
+ status: "OK",
2388
+ service: "sage-hr",
2389
+ resource: "Employees",
2390
+ operation: "update",
2391
+ data: {
2392
+ id: "12345",
2393
+ },
2394
+ });
1660
2395
  });
1661
2396
 
1662
2397
  test("Employees Hris Employees Delete", async () => {