@apideck/unify 0.27.0 → 0.28.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 (192) hide show
  1. package/README.md +5 -5
  2. package/docs/sdks/categories/README.md +12 -0
  3. package/docs/sdks/companies/README.md +4 -4
  4. package/examples/README.md +26 -0
  5. package/examples/accountingTaxRatesList.example.ts +41 -0
  6. package/examples/package-lock.json +613 -0
  7. package/examples/package.json +18 -0
  8. package/funcs/accountingCategoriesGet.d.ts.map +1 -1
  9. package/funcs/accountingCategoriesGet.js +4 -2
  10. package/funcs/accountingCategoriesGet.js.map +1 -1
  11. package/funcs/accountingCategoriesList.d.ts.map +1 -1
  12. package/funcs/accountingCategoriesList.js +4 -2
  13. package/funcs/accountingCategoriesList.js.map +1 -1
  14. package/funcs/crmCompaniesCreate.js +1 -1
  15. package/funcs/crmCompaniesCreate.js.map +1 -1
  16. package/funcs/crmCompaniesUpdate.js +1 -1
  17. package/funcs/crmCompaniesUpdate.js.map +1 -1
  18. package/jsr.json +1 -1
  19. package/lib/config.d.ts +4 -4
  20. package/lib/config.js +4 -4
  21. package/models/components/balancesheetfilter.d.ts +5 -0
  22. package/models/components/balancesheetfilter.d.ts.map +1 -1
  23. package/models/components/balancesheetfilter.js +4 -0
  24. package/models/components/balancesheetfilter.js.map +1 -1
  25. package/models/components/bankaccount.d.ts +5 -0
  26. package/models/components/bankaccount.d.ts.map +1 -1
  27. package/models/components/bankaccount.js +2 -0
  28. package/models/components/bankaccount.js.map +1 -1
  29. package/models/components/bankaccount1.d.ts +123 -0
  30. package/models/components/bankaccount1.d.ts.map +1 -0
  31. package/models/components/bankaccount1.js +128 -0
  32. package/models/components/bankaccount1.js.map +1 -0
  33. package/models/components/categoriesfilter.d.ts +67 -0
  34. package/models/components/categoriesfilter.d.ts.map +1 -0
  35. package/models/components/categoriesfilter.js +82 -0
  36. package/models/components/categoriesfilter.js.map +1 -0
  37. package/models/components/category.d.ts +39 -0
  38. package/models/components/category.d.ts.map +1 -1
  39. package/models/components/category.js +26 -1
  40. package/models/components/category.js.map +1 -1
  41. package/models/components/{company.d.ts → company1.d.ts} +32 -32
  42. package/models/components/company1.d.ts.map +1 -0
  43. package/models/components/{company.js → company1.js} +37 -37
  44. package/models/components/company1.js.map +1 -0
  45. package/models/components/companyinfo.d.ts +5 -0
  46. package/models/components/companyinfo.d.ts.map +1 -1
  47. package/models/components/companyinfo.js +4 -0
  48. package/models/components/companyinfo.js.map +1 -1
  49. package/models/components/connection.d.ts +13 -13
  50. package/models/components/connection.d.ts.map +1 -1
  51. package/models/components/connection.js +16 -17
  52. package/models/components/connection.js.map +1 -1
  53. package/models/components/customfield.d.ts +37 -38
  54. package/models/components/customfield.d.ts.map +1 -1
  55. package/models/components/customfield.js +25 -54
  56. package/models/components/customfield.js.map +1 -1
  57. package/models/components/getcompaniesresponse.d.ts +3 -3
  58. package/models/components/getcompaniesresponse.d.ts.map +1 -1
  59. package/models/components/getcompaniesresponse.js +3 -3
  60. package/models/components/getcompaniesresponse.js.map +1 -1
  61. package/models/components/getcompanyresponse.d.ts +3 -3
  62. package/models/components/getcompanyresponse.d.ts.map +1 -1
  63. package/models/components/getcompanyresponse.js +3 -3
  64. package/models/components/getcompanyresponse.js.map +1 -1
  65. package/models/components/index.d.ts +3 -1
  66. package/models/components/index.d.ts.map +1 -1
  67. package/models/components/index.js +3 -1
  68. package/models/components/index.js.map +1 -1
  69. package/models/components/invoicelineitem.d.ts +10 -0
  70. package/models/components/invoicelineitem.d.ts.map +1 -1
  71. package/models/components/invoicelineitem.js +8 -0
  72. package/models/components/invoicelineitem.js.map +1 -1
  73. package/models/components/profitandlossfilter.d.ts +5 -0
  74. package/models/components/profitandlossfilter.d.ts.map +1 -1
  75. package/models/components/profitandlossfilter.js +4 -0
  76. package/models/components/profitandlossfilter.js.map +1 -1
  77. package/models/components/simpleformfieldoption.d.ts +13 -13
  78. package/models/components/simpleformfieldoption.d.ts.map +1 -1
  79. package/models/components/simpleformfieldoption.js +16 -16
  80. package/models/components/simpleformfieldoption.js.map +1 -1
  81. package/models/components/supplier.d.ts +10 -0
  82. package/models/components/supplier.d.ts.map +1 -1
  83. package/models/components/supplier.js +4 -0
  84. package/models/components/supplier.js.map +1 -1
  85. package/models/errors/apierror.d.ts.map +1 -1
  86. package/models/errors/apierror.js +8 -2
  87. package/models/errors/apierror.js.map +1 -1
  88. package/models/errors/badrequestresponse.js +1 -1
  89. package/models/errors/badrequestresponse.js.map +1 -1
  90. package/models/errors/notfoundresponse.js +1 -1
  91. package/models/errors/notfoundresponse.js.map +1 -1
  92. package/models/errors/paymentrequiredresponse.js +1 -1
  93. package/models/errors/paymentrequiredresponse.js.map +1 -1
  94. package/models/errors/unauthorizedresponse.js +1 -1
  95. package/models/errors/unauthorizedresponse.js.map +1 -1
  96. package/models/errors/unprocessableresponse.js +1 -1
  97. package/models/errors/unprocessableresponse.js.map +1 -1
  98. package/models/operations/accountingcategoriesall.d.ts +5 -0
  99. package/models/operations/accountingcategoriesall.d.ts.map +1 -1
  100. package/models/operations/accountingcategoriesall.js +2 -0
  101. package/models/operations/accountingcategoriesall.js.map +1 -1
  102. package/models/operations/accountingcategoriesone.d.ts +5 -0
  103. package/models/operations/accountingcategoriesone.d.ts.map +1 -1
  104. package/models/operations/accountingcategoriesone.js +2 -0
  105. package/models/operations/accountingcategoriesone.js.map +1 -1
  106. package/models/operations/crmcompaniesadd.d.ts +2 -2
  107. package/models/operations/crmcompaniesadd.d.ts.map +1 -1
  108. package/models/operations/crmcompaniesadd.js +4 -4
  109. package/models/operations/crmcompaniesadd.js.map +1 -1
  110. package/models/operations/crmcompaniesupdate.d.ts +2 -2
  111. package/models/operations/crmcompaniesupdate.d.ts.map +1 -1
  112. package/models/operations/crmcompaniesupdate.js +4 -4
  113. package/models/operations/crmcompaniesupdate.js.map +1 -1
  114. package/package.json +2 -2
  115. package/src/__tests__/activities.test.ts +364 -13
  116. package/src/__tests__/apideckcompanies.test.ts +373 -9
  117. package/src/__tests__/apideckdepartments.test.ts +181 -9
  118. package/src/__tests__/applicants.test.ts +473 -9
  119. package/src/__tests__/applications.test.ts +189 -9
  120. package/src/__tests__/bankfeedaccounts.test.ts +4 -4
  121. package/src/__tests__/billpayments.test.ts +378 -20
  122. package/src/__tests__/bills.test.ts +500 -9
  123. package/src/__tests__/collectionticketcomments.test.ts +183 -7
  124. package/src/__tests__/collectiontickets.test.ts +191 -7
  125. package/src/__tests__/companies.test.ts +607 -78
  126. package/src/__tests__/connections.test.ts +409 -5
  127. package/src/__tests__/connectionsettings.test.ts +410 -5
  128. package/src/__tests__/contacts.test.ts +470 -13
  129. package/src/__tests__/creditnotes.test.ts +819 -148
  130. package/src/__tests__/customers.test.ts +517 -13
  131. package/src/__tests__/customobjects.test.ts +150 -9
  132. package/src/__tests__/customobjectschemas.test.ts +321 -9
  133. package/src/__tests__/departments.test.ts +173 -9
  134. package/src/__tests__/drivegroups.test.ts +181 -9
  135. package/src/__tests__/drives.test.ts +179 -9
  136. package/src/__tests__/employees.test.ts +829 -94
  137. package/src/__tests__/expenses.test.ts +338 -15
  138. package/src/__tests__/files.test.ts +106 -5
  139. package/src/__tests__/folders.test.ts +296 -13
  140. package/src/__tests__/invoiceitems.test.ts +272 -9
  141. package/src/__tests__/invoices.test.ts +695 -89
  142. package/src/__tests__/journalentries.test.ts +490 -8
  143. package/src/__tests__/leads.test.ts +450 -13
  144. package/src/__tests__/ledgeraccounts.test.ts +248 -19
  145. package/src/__tests__/locations.test.ts +298 -9
  146. package/src/__tests__/messages.test.ts +195 -9
  147. package/src/__tests__/notes.test.ts +191 -9
  148. package/src/__tests__/opportunities.test.ts +218 -9
  149. package/src/__tests__/payments.test.ts +323 -20
  150. package/src/__tests__/pipelines.test.ts +194 -9
  151. package/src/__tests__/purchaseorders.test.ts +847 -178
  152. package/src/__tests__/sharedlinks.test.ts +183 -9
  153. package/src/__tests__/subsidiaries.test.ts +183 -9
  154. package/src/__tests__/suppliers.test.ts +509 -13
  155. package/src/__tests__/taxrates.test.ts +235 -12
  156. package/src/__tests__/timeoffrequests.test.ts +210 -9
  157. package/src/__tests__/trackingcategories.test.ts +187 -7
  158. package/src/__tests__/uploadsessions.test.ts +78 -5
  159. package/src/__tests__/users.test.ts +356 -9
  160. package/src/funcs/accountingCategoriesGet.ts +15 -5
  161. package/src/funcs/accountingCategoriesList.ts +17 -7
  162. package/src/funcs/crmCompaniesCreate.ts +1 -1
  163. package/src/funcs/crmCompaniesUpdate.ts +1 -1
  164. package/src/lib/config.ts +4 -4
  165. package/src/models/components/balancesheetfilter.ts +9 -0
  166. package/src/models/components/bankaccount.ts +7 -0
  167. package/src/models/components/bankaccount1.ts +207 -0
  168. package/src/models/components/categoriesfilter.ts +104 -0
  169. package/src/models/components/category.ts +39 -0
  170. package/src/models/components/{company.ts → company1.ts} +131 -128
  171. package/src/models/components/companyinfo.ts +9 -0
  172. package/src/models/components/connection.ts +27 -20
  173. package/src/models/components/customfield.ts +51 -83
  174. package/src/models/components/getcompaniesresponse.ts +9 -9
  175. package/src/models/components/getcompanyresponse.ts +9 -9
  176. package/src/models/components/index.ts +3 -1
  177. package/src/models/components/invoicelineitem.ts +18 -0
  178. package/src/models/components/profitandlossfilter.ts +9 -0
  179. package/src/models/components/simpleformfieldoption.ts +21 -18
  180. package/src/models/components/supplier.ts +14 -0
  181. package/src/models/errors/apierror.ts +8 -2
  182. package/src/models/errors/badrequestresponse.ts +1 -1
  183. package/src/models/errors/notfoundresponse.ts +1 -1
  184. package/src/models/errors/paymentrequiredresponse.ts +1 -1
  185. package/src/models/errors/unauthorizedresponse.ts +1 -1
  186. package/src/models/errors/unprocessableresponse.ts +1 -1
  187. package/src/models/operations/accountingcategoriesall.ts +7 -0
  188. package/src/models/operations/accountingcategoriesone.ts +7 -0
  189. package/src/models/operations/crmcompaniesadd.ts +6 -6
  190. package/src/models/operations/crmcompaniesupdate.ts +6 -6
  191. package/models/components/company.d.ts.map +0 -1
  192. 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 { createTestHTTPClient } from "./testclient.js";
8
8
 
@@ -419,10 +419,10 @@ test("Suppliers Accounting Suppliers All", async () => {
419
419
  id: "2389328923893298",
420
420
  name: "employee_level",
421
421
  description: "Employee Level",
422
- value: [
423
- {},
424
- {},
425
- ],
422
+ value: {
423
+ "0": {},
424
+ "1": {},
425
+ },
426
426
  },
427
427
  ],
428
428
  updatedBy: "12345",
@@ -763,10 +763,268 @@ test("Suppliers Accounting Suppliers All", async () => {
763
763
  });
764
764
  });
765
765
 
766
- it.skip("Suppliers Accounting Suppliers Add", async () => {
767
- assert.fail(
768
- "incomplete test found please make sure to address the following errors: [`workflow step accounting.suppliersAdd.test referencing operation accounting.suppliersAdd with expression in requestBody with type not currently supported`, `workflow step accounting.suppliersAdd.test referencing operation accounting.suppliersAdd with expression in requestBody with type not currently supported`, `workflow step accounting.suppliersAdd.test referencing operation accounting.suppliersAdd with expression in requestBody with type not currently supported`, `workflow step accounting.suppliersAdd.test referencing operation accounting.suppliersAdd with expression in requestBody with type not currently supported`, `workflow step accounting.suppliersAdd.test referencing operation accounting.suppliersAdd with expression in requestBody with type not currently supported`, `workflow step accounting.suppliersAdd.test referencing operation accounting.suppliersAdd with expression in requestBody with type not currently supported`, `workflow step accounting.suppliersAdd.test referencing operation accounting.suppliersAdd with expression in requestBody with type not currently supported`, `workflow step accounting.suppliersAdd.test referencing operation accounting.suppliersAdd with expression in requestBody with type not currently supported`]",
769
- );
766
+ test("Suppliers Accounting Suppliers Add", async () => {
767
+ const testHttpClient = createTestHTTPClient("accounting.suppliersAdd");
768
+
769
+ const apideck = new Apideck({
770
+ serverURL: process.env["TEST_SERVER_URL"] ?? "http://localhost:18080",
771
+ httpClient: testHttpClient,
772
+ apiKey: process.env["APIDECK_API_KEY"] ?? "value",
773
+ });
774
+
775
+ const result = await apideck.accounting.suppliers.create({
776
+ consumerId: "test-consumer",
777
+ appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX",
778
+ serviceId: "salesforce",
779
+ supplier: {
780
+ displayId: "EMP00101",
781
+ displayName: "Windsurf Shop",
782
+ companyName: "SpaceX",
783
+ companyId: "12345",
784
+ title: "CEO",
785
+ firstName: "Elon",
786
+ middleName: "D.",
787
+ lastName: "Musk",
788
+ suffix: "Jr.",
789
+ individual: true,
790
+ addresses: [
791
+ {
792
+ id: "123",
793
+ type: "primary",
794
+ string: "25 Spring Street, Blackburn, VIC 3130",
795
+ name: "HQ US",
796
+ line1: "Main street",
797
+ line2: "apt #",
798
+ line3: "Suite #",
799
+ line4: "delivery instructions",
800
+ streetNumber: "25",
801
+ city: "San Francisco",
802
+ state: "CA",
803
+ postalCode: "94104",
804
+ country: "US",
805
+ latitude: "40.759211",
806
+ longitude: "-73.984638",
807
+ county: "Santa Clara",
808
+ contactName: "Elon Musk",
809
+ salutation: "Mr",
810
+ phoneNumber: "111-111-1111",
811
+ fax: "122-111-1111",
812
+ email: "elon@musk.com",
813
+ website: "https://elonmusk.com",
814
+ notes: "Address notes or delivery instructions.",
815
+ rowVersion: "1-12345",
816
+ },
817
+ {
818
+ id: "123",
819
+ type: "primary",
820
+ string: "25 Spring Street, Blackburn, VIC 3130",
821
+ name: "HQ US",
822
+ line1: "Main street",
823
+ line2: "apt #",
824
+ line3: "Suite #",
825
+ line4: "delivery instructions",
826
+ streetNumber: "25",
827
+ city: "San Francisco",
828
+ state: "CA",
829
+ postalCode: "94104",
830
+ country: "US",
831
+ latitude: "40.759211",
832
+ longitude: "-73.984638",
833
+ county: "Santa Clara",
834
+ contactName: "Elon Musk",
835
+ salutation: "Mr",
836
+ phoneNumber: "111-111-1111",
837
+ fax: "122-111-1111",
838
+ email: "elon@musk.com",
839
+ website: "https://elonmusk.com",
840
+ notes: "Address notes or delivery instructions.",
841
+ rowVersion: "1-12345",
842
+ },
843
+ ],
844
+ phoneNumbers: [
845
+ {
846
+ id: "12345",
847
+ countryCode: "1",
848
+ areaCode: "323",
849
+ number: "111-111-1111",
850
+ extension: "105",
851
+ type: "primary",
852
+ },
853
+ {
854
+ id: "12345",
855
+ countryCode: "1",
856
+ areaCode: "323",
857
+ number: "111-111-1111",
858
+ extension: "105",
859
+ type: "primary",
860
+ },
861
+ ],
862
+ emails: [
863
+ {
864
+ id: "123",
865
+ email: "elon@musk.com",
866
+ type: "primary",
867
+ },
868
+ {
869
+ id: "123",
870
+ email: "elon@musk.com",
871
+ type: "primary",
872
+ },
873
+ ],
874
+ websites: [
875
+ {
876
+ id: "12345",
877
+ url: "http://example.com",
878
+ type: "primary",
879
+ },
880
+ ],
881
+ bankAccounts: [
882
+ {
883
+ bankName: "Monzo",
884
+ accountNumber: "123465",
885
+ accountName: "SPACEX LLC",
886
+ accountType: "credit_card",
887
+ iban: "CH2989144532982975332",
888
+ bic: "AUDSCHGGXXX",
889
+ routingNumber: "012345678",
890
+ bsbNumber: "062-001",
891
+ branchIdentifier: "001",
892
+ bankCode: "BNH",
893
+ currency: "USD",
894
+ },
895
+ ],
896
+ notes: "Some notes about this supplier",
897
+ taxRate: {
898
+ id: "123456",
899
+ rate: 10,
900
+ },
901
+ taxNumber: "US123945459",
902
+ currency: "USD",
903
+ account: {
904
+ id: "123456",
905
+ nominalCode: "N091",
906
+ code: "453",
907
+ },
908
+ status: "active",
909
+ paymentMethod: "cash",
910
+ channel: "email",
911
+ customFields: [
912
+ {
913
+ id: "2389328923893298",
914
+ name: "employee_level",
915
+ description: "Employee Level",
916
+ value: {},
917
+ },
918
+ {
919
+ id: "2389328923893298",
920
+ name: "employee_level",
921
+ description: "Employee Level",
922
+ value: 10,
923
+ },
924
+ {
925
+ id: "2389328923893298",
926
+ name: "employee_level",
927
+ description: "Employee Level",
928
+ value: "Uses Salesforce and Marketo",
929
+ },
930
+ ],
931
+ rowVersion: "1-12345",
932
+ passThrough: [
933
+ {
934
+ serviceId: "<id>",
935
+ extendPaths: [
936
+ {
937
+ path: "$.nested.property",
938
+ value: {
939
+ "TaxClassificationRef": {
940
+ "value": "EUC-99990201-V1-00020000",
941
+ },
942
+ },
943
+ },
944
+ {
945
+ path: "$.nested.property",
946
+ value: {
947
+ "TaxClassificationRef": {
948
+ "value": "EUC-99990201-V1-00020000",
949
+ },
950
+ },
951
+ },
952
+ {
953
+ path: "$.nested.property",
954
+ value: {
955
+ "TaxClassificationRef": {
956
+ "value": "EUC-99990201-V1-00020000",
957
+ },
958
+ },
959
+ },
960
+ ],
961
+ },
962
+ {
963
+ serviceId: "<id>",
964
+ extendPaths: [
965
+ {
966
+ path: "$.nested.property",
967
+ value: {
968
+ "TaxClassificationRef": {
969
+ "value": "EUC-99990201-V1-00020000",
970
+ },
971
+ },
972
+ },
973
+ {
974
+ path: "$.nested.property",
975
+ value: {
976
+ "TaxClassificationRef": {
977
+ "value": "EUC-99990201-V1-00020000",
978
+ },
979
+ },
980
+ },
981
+ ],
982
+ },
983
+ {
984
+ serviceId: "<id>",
985
+ extendPaths: [
986
+ {
987
+ path: "$.nested.property",
988
+ value: {
989
+ "TaxClassificationRef": {
990
+ "value": "EUC-99990201-V1-00020000",
991
+ },
992
+ },
993
+ },
994
+ {
995
+ path: "$.nested.property",
996
+ value: {
997
+ "TaxClassificationRef": {
998
+ "value": "EUC-99990201-V1-00020000",
999
+ },
1000
+ },
1001
+ },
1002
+ {
1003
+ path: "$.nested.property",
1004
+ value: {
1005
+ "TaxClassificationRef": {
1006
+ "value": "EUC-99990201-V1-00020000",
1007
+ },
1008
+ },
1009
+ },
1010
+ ],
1011
+ },
1012
+ ],
1013
+ subsidiaryId: "12345",
1014
+ },
1015
+ });
1016
+ expect(result.httpMeta.response.status).toBe(201);
1017
+ expect(result.createSupplierResponse).toBeDefined();
1018
+ expect(result.createSupplierResponse).toEqual({
1019
+ statusCode: 200,
1020
+ status: "OK",
1021
+ service: "xero",
1022
+ resource: "payments",
1023
+ operation: "add",
1024
+ data: {
1025
+ id: "12345",
1026
+ },
1027
+ });
770
1028
  });
771
1029
 
772
1030
  test("Suppliers Accounting Suppliers One", async () => {
@@ -1042,10 +1300,248 @@ test("Suppliers Accounting Suppliers One", async () => {
1042
1300
  });
1043
1301
  });
1044
1302
 
1045
- it.skip("Suppliers Accounting Suppliers Update", async () => {
1046
- assert.fail(
1047
- "incomplete test found please make sure to address the following errors: [`workflow step accounting.suppliersUpdate.test referencing operation accounting.suppliersUpdate with expression in requestBody with type not currently supported`]",
1048
- );
1303
+ test("Suppliers Accounting Suppliers Update", async () => {
1304
+ const testHttpClient = createTestHTTPClient("accounting.suppliersUpdate");
1305
+
1306
+ const apideck = new Apideck({
1307
+ serverURL: process.env["TEST_SERVER_URL"] ?? "http://localhost:18080",
1308
+ httpClient: testHttpClient,
1309
+ apiKey: process.env["APIDECK_API_KEY"] ?? "value",
1310
+ });
1311
+
1312
+ const result = await apideck.accounting.suppliers.update({
1313
+ id: "<id>",
1314
+ consumerId: "test-consumer",
1315
+ appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX",
1316
+ serviceId: "salesforce",
1317
+ supplier: {
1318
+ displayId: "EMP00101",
1319
+ displayName: "Windsurf Shop",
1320
+ companyName: "SpaceX",
1321
+ companyId: "12345",
1322
+ title: "CEO",
1323
+ firstName: "Elon",
1324
+ middleName: "D.",
1325
+ lastName: "Musk",
1326
+ suffix: "Jr.",
1327
+ individual: true,
1328
+ addresses: [
1329
+ {
1330
+ id: "123",
1331
+ type: "primary",
1332
+ string: "25 Spring Street, Blackburn, VIC 3130",
1333
+ name: "HQ US",
1334
+ line1: "Main street",
1335
+ line2: "apt #",
1336
+ line3: "Suite #",
1337
+ line4: "delivery instructions",
1338
+ streetNumber: "25",
1339
+ city: "San Francisco",
1340
+ state: "CA",
1341
+ postalCode: "94104",
1342
+ country: "US",
1343
+ latitude: "40.759211",
1344
+ longitude: "-73.984638",
1345
+ county: "Santa Clara",
1346
+ contactName: "Elon Musk",
1347
+ salutation: "Mr",
1348
+ phoneNumber: "111-111-1111",
1349
+ fax: "122-111-1111",
1350
+ email: "elon@musk.com",
1351
+ website: "https://elonmusk.com",
1352
+ notes: "Address notes or delivery instructions.",
1353
+ rowVersion: "1-12345",
1354
+ },
1355
+ {
1356
+ id: "123",
1357
+ type: "primary",
1358
+ string: "25 Spring Street, Blackburn, VIC 3130",
1359
+ name: "HQ US",
1360
+ line1: "Main street",
1361
+ line2: "apt #",
1362
+ line3: "Suite #",
1363
+ line4: "delivery instructions",
1364
+ streetNumber: "25",
1365
+ city: "San Francisco",
1366
+ state: "CA",
1367
+ postalCode: "94104",
1368
+ country: "US",
1369
+ latitude: "40.759211",
1370
+ longitude: "-73.984638",
1371
+ county: "Santa Clara",
1372
+ contactName: "Elon Musk",
1373
+ salutation: "Mr",
1374
+ phoneNumber: "111-111-1111",
1375
+ fax: "122-111-1111",
1376
+ email: "elon@musk.com",
1377
+ website: "https://elonmusk.com",
1378
+ notes: "Address notes or delivery instructions.",
1379
+ rowVersion: "1-12345",
1380
+ },
1381
+ {
1382
+ id: "123",
1383
+ type: "primary",
1384
+ string: "25 Spring Street, Blackburn, VIC 3130",
1385
+ name: "HQ US",
1386
+ line1: "Main street",
1387
+ line2: "apt #",
1388
+ line3: "Suite #",
1389
+ line4: "delivery instructions",
1390
+ streetNumber: "25",
1391
+ city: "San Francisco",
1392
+ state: "CA",
1393
+ postalCode: "94104",
1394
+ country: "US",
1395
+ latitude: "40.759211",
1396
+ longitude: "-73.984638",
1397
+ county: "Santa Clara",
1398
+ contactName: "Elon Musk",
1399
+ salutation: "Mr",
1400
+ phoneNumber: "111-111-1111",
1401
+ fax: "122-111-1111",
1402
+ email: "elon@musk.com",
1403
+ website: "https://elonmusk.com",
1404
+ notes: "Address notes or delivery instructions.",
1405
+ rowVersion: "1-12345",
1406
+ },
1407
+ ],
1408
+ phoneNumbers: [
1409
+ {
1410
+ id: "12345",
1411
+ countryCode: "1",
1412
+ areaCode: "323",
1413
+ number: "111-111-1111",
1414
+ extension: "105",
1415
+ type: "primary",
1416
+ },
1417
+ {
1418
+ id: "12345",
1419
+ countryCode: "1",
1420
+ areaCode: "323",
1421
+ number: "111-111-1111",
1422
+ extension: "105",
1423
+ type: "primary",
1424
+ },
1425
+ ],
1426
+ emails: [
1427
+ {
1428
+ id: "123",
1429
+ email: "elon@musk.com",
1430
+ type: "primary",
1431
+ },
1432
+ {
1433
+ id: "123",
1434
+ email: "elon@musk.com",
1435
+ type: "primary",
1436
+ },
1437
+ ],
1438
+ websites: [
1439
+ {
1440
+ id: "12345",
1441
+ url: "http://example.com",
1442
+ type: "primary",
1443
+ },
1444
+ {
1445
+ id: "12345",
1446
+ url: "http://example.com",
1447
+ type: "primary",
1448
+ },
1449
+ {
1450
+ id: "12345",
1451
+ url: "http://example.com",
1452
+ type: "primary",
1453
+ },
1454
+ ],
1455
+ bankAccounts: [
1456
+ {
1457
+ bankName: "Monzo",
1458
+ accountNumber: "123465",
1459
+ accountName: "SPACEX LLC",
1460
+ accountType: "credit_card",
1461
+ iban: "CH2989144532982975332",
1462
+ bic: "AUDSCHGGXXX",
1463
+ routingNumber: "012345678",
1464
+ bsbNumber: "062-001",
1465
+ branchIdentifier: "001",
1466
+ bankCode: "BNH",
1467
+ currency: "USD",
1468
+ },
1469
+ {
1470
+ bankName: "Monzo",
1471
+ accountNumber: "123465",
1472
+ accountName: "SPACEX LLC",
1473
+ accountType: "credit_card",
1474
+ iban: "CH2989144532982975332",
1475
+ bic: "AUDSCHGGXXX",
1476
+ routingNumber: "012345678",
1477
+ bsbNumber: "062-001",
1478
+ branchIdentifier: "001",
1479
+ bankCode: "BNH",
1480
+ currency: "USD",
1481
+ },
1482
+ ],
1483
+ notes: "Some notes about this supplier",
1484
+ taxRate: {
1485
+ id: "123456",
1486
+ rate: 10,
1487
+ },
1488
+ taxNumber: "US123945459",
1489
+ currency: "USD",
1490
+ account: {
1491
+ id: "123456",
1492
+ nominalCode: "N091",
1493
+ code: "453",
1494
+ },
1495
+ status: "active",
1496
+ paymentMethod: "cash",
1497
+ channel: "email",
1498
+ customFields: [
1499
+ {
1500
+ id: "2389328923893298",
1501
+ name: "employee_level",
1502
+ description: "Employee Level",
1503
+ value: {},
1504
+ },
1505
+ {
1506
+ id: "2389328923893298",
1507
+ name: "employee_level",
1508
+ description: "Employee Level",
1509
+ value: {
1510
+ "0": {},
1511
+ },
1512
+ },
1513
+ ],
1514
+ rowVersion: "1-12345",
1515
+ passThrough: [
1516
+ {
1517
+ serviceId: "<id>",
1518
+ extendPaths: [
1519
+ {
1520
+ path: "$.nested.property",
1521
+ value: {
1522
+ "TaxClassificationRef": {
1523
+ "value": "EUC-99990201-V1-00020000",
1524
+ },
1525
+ },
1526
+ },
1527
+ ],
1528
+ },
1529
+ ],
1530
+ subsidiaryId: "12345",
1531
+ },
1532
+ });
1533
+ expect(result.httpMeta.response.status).toBe(200);
1534
+ expect(result.updateSupplierResponse).toBeDefined();
1535
+ expect(result.updateSupplierResponse).toEqual({
1536
+ statusCode: 200,
1537
+ status: "OK",
1538
+ service: "xero",
1539
+ resource: "suppliers",
1540
+ operation: "update",
1541
+ data: {
1542
+ id: "12345",
1543
+ },
1544
+ });
1049
1545
  });
1050
1546
 
1051
1547
  test("Suppliers Accounting Suppliers Delete", async () => {