boldsign 1.0.3 → 1.0.4

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 (523) hide show
  1. package/.openapi-generator/FILES +157 -156
  2. package/.openapi-generator/VERSION +1 -1
  3. package/.openapi-generator-ignore +23 -23
  4. package/LICENSE +21 -21
  5. package/README.md +307 -306
  6. package/api/apis.ts +163 -163
  7. package/api/brandingApi.ts +1183 -1183
  8. package/api/contactsApi.ts +772 -772
  9. package/api/customFieldApi.ts +817 -817
  10. package/api/documentApi.ts +2953 -2953
  11. package/api/identityVerificationApi.ts +586 -586
  12. package/api/index.ts +36 -36
  13. package/api/planApi.ts +274 -274
  14. package/api/senderIdentitiesApi.ts +898 -898
  15. package/api/teamsApi.ts +661 -661
  16. package/api/templateApi.ts +1915 -1915
  17. package/api/userApi.ts +968 -968
  18. package/api.ts +3 -3
  19. package/boldsign-1.0.4.tgz +0 -0
  20. package/dist/api/apis.d.ts +1 -1
  21. package/dist/api/apis.js +1 -1
  22. package/dist/model/auditTrail.d.ts +3 -1
  23. package/dist/model/auditTrail.js +2 -0
  24. package/dist/model/auditTrail.js.map +1 -1
  25. package/dist/model/collaborationSettings.d.ts +17 -0
  26. package/dist/model/collaborationSettings.js +33 -0
  27. package/dist/model/collaborationSettings.js.map +1 -0
  28. package/dist/model/createTemplateRequest.d.ts +1 -1
  29. package/dist/model/createTemplateRequest.js +5 -5
  30. package/dist/model/createTemplateRequest.js.map +1 -1
  31. package/dist/model/documentFiles.d.ts +1 -0
  32. package/dist/model/documentFiles.js +5 -0
  33. package/dist/model/documentFiles.js.map +1 -1
  34. package/dist/model/documentFormFields.d.ts +3 -0
  35. package/dist/model/documentFormFields.js +10 -0
  36. package/dist/model/documentFormFields.js.map +1 -1
  37. package/dist/model/documentSigner.d.ts +1 -0
  38. package/dist/model/documentSigner.js +5 -0
  39. package/dist/model/documentSigner.js.map +1 -1
  40. package/dist/model/documentSignerDetails.d.ts +1 -0
  41. package/dist/model/documentSignerDetails.js +5 -0
  42. package/dist/model/documentSignerDetails.js.map +1 -1
  43. package/dist/model/embeddedCreateTemplateRequest.d.ts +1 -1
  44. package/dist/model/embeddedCreateTemplateRequest.js +5 -5
  45. package/dist/model/embeddedCreateTemplateRequest.js.map +1 -1
  46. package/dist/model/embeddedDocumentRequest.d.ts +1 -1
  47. package/dist/model/embeddedDocumentRequest.js +5 -5
  48. package/dist/model/embeddedDocumentRequest.js.map +1 -1
  49. package/dist/model/embeddedMergeTemplateFormRequest.d.ts +1 -1
  50. package/dist/model/embeddedMergeTemplateFormRequest.js +5 -5
  51. package/dist/model/embeddedMergeTemplateFormRequest.js.map +1 -1
  52. package/dist/model/embeddedSendTemplateFormRequest.d.ts +1 -1
  53. package/dist/model/embeddedSendTemplateFormRequest.js +5 -5
  54. package/dist/model/embeddedSendTemplateFormRequest.js.map +1 -1
  55. package/dist/model/formField.d.ts +2 -0
  56. package/dist/model/formField.js +5 -0
  57. package/dist/model/formField.js.map +1 -1
  58. package/dist/model/index.d.ts +2 -1
  59. package/dist/model/index.js +6 -3
  60. package/dist/model/index.js.map +1 -1
  61. package/dist/model/mergeAndSendForSignForm.d.ts +1 -1
  62. package/dist/model/mergeAndSendForSignForm.js +5 -5
  63. package/dist/model/mergeAndSendForSignForm.js.map +1 -1
  64. package/dist/model/sendForSign.d.ts +1 -1
  65. package/dist/model/sendForSign.js +5 -5
  66. package/dist/model/sendForSign.js.map +1 -1
  67. package/dist/model/sendForSignFromTemplateForm.d.ts +1 -1
  68. package/dist/model/sendForSignFromTemplateForm.js +5 -5
  69. package/dist/model/sendForSignFromTemplateForm.js.map +1 -1
  70. package/dist/model/templateFormFields.d.ts +2 -0
  71. package/dist/model/templateFormFields.js +5 -0
  72. package/dist/model/templateFormFields.js.map +1 -1
  73. package/dist/model/textTagDefinition.d.ts +2 -0
  74. package/dist/model/textTagDefinition.js +5 -0
  75. package/dist/model/textTagDefinition.js.map +1 -1
  76. package/dist/tests/config.d.ts +5 -0
  77. package/dist/tests/config.js +43 -0
  78. package/dist/tests/config.js.map +1 -0
  79. package/dist/tests/integration/BrandingApiTest.spec.d.ts +1 -0
  80. package/dist/tests/integration/BrandingApiTest.spec.js +310 -0
  81. package/dist/tests/integration/BrandingApiTest.spec.js.map +1 -0
  82. package/dist/tests/integration/ContactsApiTest.spec.d.ts +1 -0
  83. package/dist/tests/integration/ContactsApiTest.spec.js +249 -0
  84. package/dist/tests/integration/ContactsApiTest.spec.js.map +1 -0
  85. package/dist/tests/integration/CustomFieldApiTest.spec.d.ts +1 -0
  86. package/dist/tests/integration/CustomFieldApiTest.spec.js +289 -0
  87. package/dist/tests/integration/CustomFieldApiTest.spec.js.map +1 -0
  88. package/dist/tests/integration/DocumentApiTest.spec.d.ts +1 -0
  89. package/dist/tests/integration/DocumentApiTest.spec.js +1710 -0
  90. package/dist/tests/integration/DocumentApiTest.spec.js.map +1 -0
  91. package/dist/tests/integration/IdentityVerificationApiTest.spec.d.ts +1 -0
  92. package/dist/tests/integration/IdentityVerificationApiTest.spec.js +160 -0
  93. package/dist/tests/integration/IdentityVerificationApiTest.spec.js.map +1 -0
  94. package/dist/tests/integration/TemplateApiTest.spec.d.ts +1 -0
  95. package/dist/tests/integration/TemplateApiTest.spec.js +1518 -0
  96. package/dist/tests/integration/TemplateApiTest.spec.js.map +1 -0
  97. package/dist/tests/integration/planApiTest.spec.d.ts +1 -0
  98. package/dist/tests/integration/planApiTest.spec.js +41 -0
  99. package/dist/tests/integration/planApiTest.spec.js.map +1 -0
  100. package/dist/tests/integration/senderIdentity.spec.d.ts +1 -0
  101. package/dist/tests/integration/senderIdentity.spec.js +481 -0
  102. package/dist/tests/integration/senderIdentity.spec.js.map +1 -0
  103. package/dist/tests/integration/teamsApiTest.spec.d.ts +1 -0
  104. package/dist/tests/integration/teamsApiTest.spec.js +230 -0
  105. package/dist/tests/integration/teamsApiTest.spec.js.map +1 -0
  106. package/dist/tests/integration/usersApiTest.spec.d.ts +1 -0
  107. package/dist/tests/integration/usersApiTest.spec.js +290 -0
  108. package/dist/tests/integration/usersApiTest.spec.js.map +1 -0
  109. package/dist/tests/unit/brandingApi.spec.d.ts +1 -0
  110. package/dist/tests/unit/brandingApi.spec.js +174 -0
  111. package/dist/tests/unit/brandingApi.spec.js.map +1 -0
  112. package/dist/tests/unit/contactsApi.spec.d.ts +1 -0
  113. package/dist/tests/unit/contactsApi.spec.js +154 -0
  114. package/dist/tests/unit/contactsApi.spec.js.map +1 -0
  115. package/dist/tests/unit/customFieldApi.spec.d.ts +1 -0
  116. package/dist/tests/unit/customFieldApi.spec.js +140 -0
  117. package/dist/tests/unit/customFieldApi.spec.js.map +1 -0
  118. package/dist/tests/unit/documentApi.spec.d.ts +1 -0
  119. package/dist/tests/unit/documentApi.spec.js +476 -0
  120. package/dist/tests/unit/documentApi.spec.js.map +1 -0
  121. package/dist/tests/unit/planApi.spec.d.ts +1 -0
  122. package/dist/tests/unit/planApi.spec.js +69 -0
  123. package/dist/tests/unit/planApi.spec.js.map +1 -0
  124. package/dist/tests/unit/senderIdentitiesApi.spec.d.ts +1 -0
  125. package/dist/tests/unit/senderIdentitiesApi.spec.js +148 -0
  126. package/dist/tests/unit/senderIdentitiesApi.spec.js.map +1 -0
  127. package/dist/tests/unit/teamApi.spec.d.ts +1 -0
  128. package/dist/tests/unit/teamApi.spec.js +116 -0
  129. package/dist/tests/unit/teamApi.spec.js.map +1 -0
  130. package/dist/tests/unit/templateApi.spec.d.ts +1 -0
  131. package/dist/tests/unit/templateApi.spec.js +285 -0
  132. package/dist/tests/unit/templateApi.spec.js.map +1 -0
  133. package/dist/tests/unit/userApi.spec.d.ts +1 -0
  134. package/dist/tests/unit/userApi.spec.js +163 -0
  135. package/dist/tests/unit/userApi.spec.js.map +1 -0
  136. package/docs/AccessCodeDetail.md +19 -19
  137. package/docs/AccessCodeDetails.md +13 -13
  138. package/docs/Added.md +13 -13
  139. package/docs/Address.md +16 -16
  140. package/docs/AttachmentInfo.md +14 -14
  141. package/docs/AuditTrail.md +21 -21
  142. package/docs/AuthenticationSettings.md +11 -11
  143. package/docs/Base64File.md +12 -12
  144. package/docs/BehalfDocument.md +27 -27
  145. package/docs/BehalfDocumentRecords.md +12 -12
  146. package/docs/BehalfOf.md +12 -12
  147. package/docs/BillingViewModel.md +11 -11
  148. package/docs/BrandCreated.md +11 -11
  149. package/docs/BrandCustomFieldDetails.md +16 -16
  150. package/docs/BrandingApi.md +258 -258
  151. package/docs/BrandingMessage.md +11 -11
  152. package/docs/BrandingRecords.md +11 -11
  153. package/docs/ChangeRecipient.md +18 -18
  154. package/docs/CollaborationSettings.md +14 -0
  155. package/docs/ConditionalRule.md +13 -13
  156. package/docs/ContactCreated.md +12 -12
  157. package/docs/ContactDetails.md +15 -15
  158. package/docs/ContactPageDetails.md +13 -13
  159. package/docs/ContactsApi.md +176 -176
  160. package/docs/ContactsDetails.md +16 -16
  161. package/docs/ContactsList.md +12 -12
  162. package/docs/CreateContactResponse.md +11 -11
  163. package/docs/CreateSenderIdentityRequest.md +16 -16
  164. package/docs/CreateTeamRequest.md +11 -11
  165. package/docs/CreateTemplateRequest.md +35 -35
  166. package/docs/CreateUser.md +14 -14
  167. package/docs/CustomDomainSettings.md +12 -12
  168. package/docs/CustomFieldApi.md +174 -174
  169. package/docs/CustomFieldCollection.md +11 -11
  170. package/docs/CustomFieldMessage.md +12 -12
  171. package/docs/CustomFormField.md +43 -43
  172. package/docs/Date.md +13 -13
  173. package/docs/DeleteCustomFieldReply.md +11 -11
  174. package/docs/Document.md +26 -26
  175. package/docs/DocumentApi.md +756 -756
  176. package/docs/DocumentCC.md +11 -11
  177. package/docs/DocumentCcDetails.md +12 -12
  178. package/docs/DocumentCreated.md +11 -11
  179. package/docs/DocumentExpirySettings.md +16 -16
  180. package/docs/DocumentFiles.md +14 -13
  181. package/docs/DocumentFormFields.md +51 -49
  182. package/docs/DocumentInfo.md +14 -14
  183. package/docs/DocumentProperties.md +50 -50
  184. package/docs/DocumentReassign.md +13 -13
  185. package/docs/DocumentRecords.md +12 -12
  186. package/docs/DocumentSenderDetail.md +14 -14
  187. package/docs/DocumentSigner.md +32 -31
  188. package/docs/DocumentSignerDetails.md +38 -37
  189. package/docs/DocumentTags.md +12 -12
  190. package/docs/DownloadImageRequest.md +16 -16
  191. package/docs/EditSenderIdentityRequest.md +14 -14
  192. package/docs/EditTemplateRequest.md +29 -29
  193. package/docs/EditableDateFieldSettings.md +13 -13
  194. package/docs/EmbeddedCreateTemplateRequest.md +46 -46
  195. package/docs/EmbeddedCustomFieldCreated.md +11 -11
  196. package/docs/EmbeddedDocumentRequest.md +55 -55
  197. package/docs/EmbeddedFileDetails.md +16 -16
  198. package/docs/EmbeddedFileLink.md +11 -11
  199. package/docs/EmbeddedMergeTemplateFormRequest.md +56 -56
  200. package/docs/EmbeddedSendCreated.md +12 -12
  201. package/docs/EmbeddedSendTemplateFormRequest.md +53 -53
  202. package/docs/EmbeddedSigningLink.md +11 -11
  203. package/docs/EmbeddedTemplateCreated.md +12 -12
  204. package/docs/EmbeddedTemplateEditRequest.md +21 -21
  205. package/docs/EmbeddedTemplateEdited.md +11 -11
  206. package/docs/Error.md +12 -12
  207. package/docs/ErrorResult.md +11 -11
  208. package/docs/ExistingFormField.md +15 -15
  209. package/docs/ExtendExpiry.md +14 -14
  210. package/docs/FileInfo.md +14 -14
  211. package/docs/Font.md +18 -18
  212. package/docs/FormField.md +51 -50
  213. package/docs/FormGroup.md +15 -15
  214. package/docs/FormulaFieldSettings.md +12 -12
  215. package/docs/IdDocument.md +21 -21
  216. package/docs/IdReport.md +14 -14
  217. package/docs/IdVerification.md +18 -18
  218. package/docs/IdentityVerificationApi.md +109 -109
  219. package/docs/IdentityVerificationSettings.md +16 -16
  220. package/docs/ImageInfo.md +13 -13
  221. package/docs/MergeAndSendForSignForm.md +46 -46
  222. package/docs/ModificationDetails.md +12 -12
  223. package/docs/NotificationSettings.md +22 -22
  224. package/docs/PageDetails.md +16 -16
  225. package/docs/PhoneNumber.md +12 -12
  226. package/docs/PlanApi.md +38 -38
  227. package/docs/PrefillField.md +12 -12
  228. package/docs/PrefillFieldRequest.md +12 -12
  229. package/docs/ProblemDetails.md +15 -15
  230. package/docs/RecipientChangeLog.md +12 -12
  231. package/docs/RecipientNotificationSettings.md +22 -22
  232. package/docs/Rectangle.md +14 -14
  233. package/docs/ReminderMessage.md +13 -13
  234. package/docs/ReminderSettings.md +13 -13
  235. package/docs/RemoveAuthentication.md +14 -14
  236. package/docs/Removed.md +13 -13
  237. package/docs/RevokeDocument.md +12 -12
  238. package/docs/Role.md +33 -33
  239. package/docs/Roles.md +33 -33
  240. package/docs/SendForSign.md +45 -45
  241. package/docs/SendForSignFromTemplateForm.md +43 -43
  242. package/docs/SenderIdentitiesApi.md +209 -209
  243. package/docs/SenderIdentityCreated.md +11 -11
  244. package/docs/SenderIdentityList.md +12 -12
  245. package/docs/SenderIdentityViewModel.md +19 -19
  246. package/docs/SignerAuthenticationSettings.md +12 -12
  247. package/docs/Size.md +12 -12
  248. package/docs/TeamCreated.md +11 -11
  249. package/docs/TeamDocumentRecords.md +12 -12
  250. package/docs/TeamListResponse.md +12 -12
  251. package/docs/TeamPageDetails.md +12 -12
  252. package/docs/TeamResponse.md +15 -15
  253. package/docs/TeamUpdateRequest.md +12 -12
  254. package/docs/TeamUsers.md +16 -16
  255. package/docs/Teams.md +14 -14
  256. package/docs/TeamsApi.md +141 -141
  257. package/docs/Template.md +29 -29
  258. package/docs/TemplateApi.md +484 -484
  259. package/docs/TemplateCC.md +12 -12
  260. package/docs/TemplateCreated.md +11 -11
  261. package/docs/TemplateFormFields.md +51 -50
  262. package/docs/TemplateProperties.md +37 -37
  263. package/docs/TemplateRecords.md +12 -12
  264. package/docs/TemplateRole.md +28 -28
  265. package/docs/TemplateSenderDetail.md +12 -12
  266. package/docs/TemplateSenderDetails.md +13 -13
  267. package/docs/TemplateSharedTemplateDetail.md +12 -12
  268. package/docs/TemplateSignerDetails.md +27 -27
  269. package/docs/TemplateTag.md +14 -14
  270. package/docs/TextTagDefinition.md +41 -40
  271. package/docs/TextTagOffset.md +12 -12
  272. package/docs/UpdateUser.md +14 -14
  273. package/docs/UpdateUserMetaData.md +12 -12
  274. package/docs/UserApi.md +240 -240
  275. package/docs/UserPageDetails.md +12 -12
  276. package/docs/UserProperties.md +21 -21
  277. package/docs/UserRecords.md +12 -12
  278. package/docs/UsersDetails.md +21 -21
  279. package/docs/Validation.md +13 -13
  280. package/docs/VerificationDataRequest.md +15 -15
  281. package/docs/ViewBrandDetails.md +34 -34
  282. package/docs/ViewCustomFieldDetails.md +17 -17
  283. package/examples/DocumentProperties.ts +14 -14
  284. package/examples/brandCreate.ts +28 -28
  285. package/examples/brandDelete.ts +14 -14
  286. package/examples/brandGet.ts +14 -14
  287. package/examples/brandList.ts +13 -13
  288. package/examples/brandResetDefault.ts +14 -14
  289. package/examples/brandUpdate.ts +20 -20
  290. package/examples/contactCreate.ts +25 -25
  291. package/examples/contactDelete.ts +14 -14
  292. package/examples/contactGet.ts +14 -14
  293. package/examples/contactList.ts +15 -15
  294. package/examples/contactUpdate.ts +25 -25
  295. package/examples/customFieldCreate.ts +27 -27
  296. package/examples/customFieldDelete.ts +14 -14
  297. package/examples/customFieldEdit.ts +29 -29
  298. package/examples/customFieldEmbeddedCreateUrl.ts +18 -18
  299. package/examples/customFieldList.ts +14 -14
  300. package/examples/documentAddAuthentication.ts +19 -19
  301. package/examples/documentAddTags.ts +18 -18
  302. package/examples/documentChangeAccessCode.ts +19 -19
  303. package/examples/documentChangeRecipients.ts +21 -21
  304. package/examples/documentDelete.ts +15 -15
  305. package/examples/documentDeleteTags.ts +18 -18
  306. package/examples/documentDownload.ts +15 -15
  307. package/examples/documentDownloadAttachment.ts +16 -16
  308. package/examples/documentDownloadAuditTrial.ts +15 -15
  309. package/examples/documentEmbeddedRequestLink.ts +48 -48
  310. package/examples/documentEmbeddedSignLink.ts +22 -22
  311. package/examples/documentExtendExpiry.ts +19 -19
  312. package/examples/documentList.ts +18 -18
  313. package/examples/documentListBehalf.ts +14 -14
  314. package/examples/documentListTeam.ts +14 -14
  315. package/examples/documentPrefillFieldCheckBox.ts +22 -22
  316. package/examples/documentPrefillFieldDropDown.ts +22 -22
  317. package/examples/documentPrefillFieldEditableDate.ts +22 -22
  318. package/examples/documentPrefillFieldImage.ts +22 -22
  319. package/examples/documentPrefillFieldRadioButton.ts +22 -22
  320. package/examples/documentPrefillFieldTextBox.ts +22 -22
  321. package/examples/documentRemoveAuthentication.ts +18 -18
  322. package/examples/documentRevoke.ts +18 -18
  323. package/examples/documentSend.ts +46 -46
  324. package/examples/documentSendOnBehalf.ts +52 -52
  325. package/examples/documentSendReminder.ts +19 -19
  326. package/examples/embeddedManualVerification.ts +22 -22
  327. package/examples/identityVerificationImage.ts +23 -23
  328. package/examples/identityVerificationReport.ts +21 -21
  329. package/examples/listTemplate.ts +15 -15
  330. package/examples/plan.ts +13 -13
  331. package/examples/senderIdentityCreate.ts +20 -20
  332. package/examples/senderIdentityDelete.ts +14 -14
  333. package/examples/senderIdentityList.ts +15 -15
  334. package/examples/senderIdentityRerequest.ts +14 -14
  335. package/examples/senderIdentityResendInvitation.ts +14 -14
  336. package/examples/senderIdentityUpdate.ts +19 -19
  337. package/examples/teamCreate.ts +17 -17
  338. package/examples/teamGet.ts +14 -14
  339. package/examples/teamList.ts +15 -15
  340. package/examples/teamUpdate.ts +18 -18
  341. package/examples/templateAddTag.ts +19 -19
  342. package/examples/templateCreate.ts +28 -28
  343. package/examples/templateDelete.ts +14 -14
  344. package/examples/templateDeleteTag.ts +19 -19
  345. package/examples/templateDetails.ts +14 -14
  346. package/examples/templateDownload.ts +14 -14
  347. package/examples/templateEdit.ts +21 -21
  348. package/examples/templateEmbeddedCreate.ts +28 -28
  349. package/examples/templateEmbeddedEdit.ts +23 -23
  350. package/examples/templateEmbeddedRequestLink.ts +33 -33
  351. package/examples/templateMergerEmbeddedRequestUrl.ts +36 -36
  352. package/examples/templateSendDocument.ts +59 -59
  353. package/examples/templateSendDocumentUsingMultipleTemplate.ts +39 -39
  354. package/examples/userCreate.ts +19 -19
  355. package/examples/userGet.ts +14 -14
  356. package/examples/userInvitationCancel.ts +14 -14
  357. package/examples/userList.ts +15 -15
  358. package/examples/userResendInvitation.ts +14 -14
  359. package/examples/userUpdateRole.ts +18 -18
  360. package/git_push.sh +57 -57
  361. package/model/accessCodeDetail.ts +91 -91
  362. package/model/accessCodeDetails.ts +44 -44
  363. package/model/added.ts +43 -43
  364. package/model/address.ts +61 -61
  365. package/model/attachmentInfo.ts +49 -49
  366. package/model/auditTrail.ts +177 -175
  367. package/model/authenticationSettings.ts +40 -40
  368. package/model/base64File.ts +37 -37
  369. package/model/behalfDocument.ts +142 -142
  370. package/model/behalfDocumentRecords.ts +39 -39
  371. package/model/behalfOf.ts +37 -37
  372. package/model/billingViewModel.ts +31 -31
  373. package/model/brandCreated.ts +31 -31
  374. package/model/brandCustomFieldDetails.ts +62 -62
  375. package/model/brandingMessage.ts +31 -31
  376. package/model/brandingRecords.ts +32 -32
  377. package/model/changeRecipient.ts +74 -74
  378. package/model/collaborationSettings.ts +49 -0
  379. package/model/conditionalRule.ts +43 -43
  380. package/model/contactCreated.ts +37 -37
  381. package/model/contactDetails.ts +56 -56
  382. package/model/contactPageDetails.ts +43 -43
  383. package/model/contactsDetails.ts +62 -62
  384. package/model/contactsList.ts +39 -39
  385. package/model/createContactResponse.ts +32 -32
  386. package/model/createSenderIdentityRequest.ts +62 -62
  387. package/model/createTeamRequest.ts +31 -31
  388. package/model/createTemplateRequest.ts +181 -181
  389. package/model/createUser.ts +56 -56
  390. package/model/customDomainSettings.ts +37 -37
  391. package/model/customFieldCollection.ts +32 -32
  392. package/model/customFieldMessage.ts +37 -37
  393. package/model/customFormField.ts +275 -275
  394. package/model/deleteCustomFieldReply.ts +31 -31
  395. package/model/document.ts +135 -135
  396. package/model/documentCC.ts +31 -31
  397. package/model/documentCcDetails.ts +37 -37
  398. package/model/documentCreated.ts +31 -31
  399. package/model/documentExpirySettings.ts +69 -69
  400. package/model/documentFiles.ts +49 -43
  401. package/model/documentFormFields.ts +305 -292
  402. package/model/documentInfo.ts +90 -90
  403. package/model/documentProperties.ts +316 -316
  404. package/model/documentReassign.ts +43 -43
  405. package/model/documentRecords.ts +39 -39
  406. package/model/documentSenderDetail.ts +49 -49
  407. package/model/documentSigner.ts +221 -215
  408. package/model/documentSignerDetails.ts +265 -259
  409. package/model/documentTags.ts +37 -37
  410. package/model/downloadImageRequest.ts +61 -61
  411. package/model/editSenderIdentityRequest.ts +50 -50
  412. package/model/editTemplateRequest.ts +144 -144
  413. package/model/editableDateFieldSettings.ts +43 -43
  414. package/model/embeddedCreateTemplateRequest.ts +271 -271
  415. package/model/embeddedCustomFieldCreated.ts +31 -31
  416. package/model/embeddedDocumentRequest.ts +337 -337
  417. package/model/embeddedFileDetails.ts +61 -61
  418. package/model/embeddedFileLink.ts +31 -31
  419. package/model/embeddedMergeTemplateFormRequest.ts +343 -343
  420. package/model/embeddedSendCreated.ts +37 -37
  421. package/model/embeddedSendTemplateFormRequest.ts +324 -324
  422. package/model/embeddedSigningLink.ts +31 -31
  423. package/model/embeddedTemplateCreated.ts +37 -37
  424. package/model/embeddedTemplateEditRequest.ts +115 -115
  425. package/model/embeddedTemplateEdited.ts +31 -31
  426. package/model/errorResult.ts +31 -31
  427. package/model/existingFormField.ts +55 -55
  428. package/model/extendExpiry.ts +49 -49
  429. package/model/fileInfo.ts +49 -49
  430. package/model/font.ts +89 -89
  431. package/model/formField.ts +327 -320
  432. package/model/formGroup.ts +63 -63
  433. package/model/formulaFieldSettings.ts +37 -37
  434. package/model/idDocument.ts +93 -93
  435. package/model/idReport.ts +50 -50
  436. package/model/idVerification.ts +73 -73
  437. package/model/identityVerificationSettings.ts +75 -75
  438. package/model/imageInfo.ts +43 -43
  439. package/model/index.ts +546 -543
  440. package/model/mergeAndSendForSignForm.ts +261 -261
  441. package/model/modelDate.ts +43 -43
  442. package/model/modelError.ts +37 -37
  443. package/model/models.ts +244 -244
  444. package/model/modificationDetails.ts +37 -37
  445. package/model/notificationSettings.ts +97 -97
  446. package/model/pageDetails.ts +61 -61
  447. package/model/phoneNumber.ts +37 -37
  448. package/model/prefillField.ts +37 -37
  449. package/model/prefillFieldRequest.ts +38 -38
  450. package/model/problemDetails.ts +55 -55
  451. package/model/recipientChangeLog.ts +39 -39
  452. package/model/recipientNotificationSettings.ts +97 -97
  453. package/model/rectangle.ts +49 -49
  454. package/model/reminderMessage.ts +44 -44
  455. package/model/reminderSettings.ts +43 -43
  456. package/model/removeAuthentication.ts +50 -50
  457. package/model/removed.ts +43 -43
  458. package/model/revokeDocument.ts +37 -37
  459. package/model/role.ts +229 -229
  460. package/model/roles.ts +225 -225
  461. package/model/sendForSign.ts +255 -255
  462. package/model/sendForSignFromTemplateForm.ts +242 -242
  463. package/model/senderIdentityCreated.ts +31 -31
  464. package/model/senderIdentityList.ts +39 -39
  465. package/model/senderIdentityViewModel.ts +80 -80
  466. package/model/signerAuthenticationSettings.ts +37 -37
  467. package/model/size.ts +37 -37
  468. package/model/teamCreated.ts +31 -31
  469. package/model/teamDocumentRecords.ts +39 -39
  470. package/model/teamListResponse.ts +39 -39
  471. package/model/teamPageDetails.ts +37 -37
  472. package/model/teamResponse.ts +56 -56
  473. package/model/teamUpdateRequest.ts +37 -37
  474. package/model/teamUsers.ts +73 -73
  475. package/model/teams.ts +49 -49
  476. package/model/template.ts +159 -159
  477. package/model/templateCC.ts +37 -37
  478. package/model/templateCreated.ts +31 -31
  479. package/model/templateFormFields.ts +304 -297
  480. package/model/templateProperties.ts +202 -202
  481. package/model/templateRecords.ts +39 -39
  482. package/model/templateRole.ts +195 -195
  483. package/model/templateSenderDetail.ts +37 -37
  484. package/model/templateSenderDetails.ts +43 -43
  485. package/model/templateSharedTemplateDetail.ts +43 -43
  486. package/model/templateSignerDetails.ts +160 -160
  487. package/model/templateTag.ts +49 -49
  488. package/model/textTagDefinition.ts +255 -248
  489. package/model/textTagOffset.ts +37 -37
  490. package/model/updateUser.ts +60 -60
  491. package/model/updateUserMetaData.ts +37 -37
  492. package/model/userPageDetails.ts +37 -37
  493. package/model/userProperties.ts +91 -91
  494. package/model/userRecords.ts +39 -39
  495. package/model/usersDetails.ts +91 -91
  496. package/model/validation.ts +52 -52
  497. package/model/verificationDataRequest.ts +55 -55
  498. package/model/viewBrandDetails.ts +177 -177
  499. package/model/viewCustomFieldDetails.ts +68 -68
  500. package/package.json +52 -52
  501. package/tests/config.ts +20 -0
  502. package/tests/documents/agreement.pdf +0 -0
  503. package/tests/documents/logo.jpg +0 -0
  504. package/tests/integration/BrandingApiTest.spec.ts +254 -0
  505. package/tests/integration/ContactsApiTest.spec.ts +222 -0
  506. package/tests/integration/CustomFieldApiTest.spec.ts +231 -0
  507. package/tests/integration/DocumentApiTest.spec.ts +1624 -0
  508. package/tests/integration/IdentityVerificationApiTest.spec.ts +114 -0
  509. package/tests/integration/TemplateApiTest.spec.ts +1420 -0
  510. package/tests/integration/planApiTest.spec.ts +26 -0
  511. package/tests/integration/senderIdentity.spec.ts +397 -0
  512. package/tests/integration/teamsApiTest.spec.ts +226 -0
  513. package/tests/integration/usersApiTest.spec.ts +251 -0
  514. package/tests/unit/brandingApi.spec.ts +163 -0
  515. package/tests/unit/contactsApi.spec.ts +143 -0
  516. package/tests/unit/customFieldApi.spec.ts +123 -0
  517. package/tests/unit/documentApi.spec.ts +545 -0
  518. package/tests/unit/planApi.spec.ts +34 -0
  519. package/tests/unit/senderIdentitiesApi.spec.ts +148 -0
  520. package/tests/unit/teamApi.spec.ts +94 -0
  521. package/tests/unit/templateApi.spec.ts +307 -0
  522. package/tests/unit/userApi.spec.ts +162 -0
  523. package/tsconfig.json +24 -24
@@ -0,0 +1,251 @@
1
+ import { UserApi } from '../../api/userApi';
2
+ import { CreateUser } from '../../model';
3
+ import config from '../config';
4
+
5
+ describe('UsersTestcase', () => {
6
+ let usersApi:UserApi;
7
+ let createdUserId:any
8
+ let emailId:any
9
+ const generateRandomEmail = () => {
10
+ const randomNum = Math.floor(1000 + Math.random() * 9000);
11
+ return `sdktesting${randomNum}@syncfusion.com`;
12
+ };
13
+ beforeAll(() => {
14
+ createdUserId = null;
15
+ emailId = null;
16
+ const apiKey = config.apiKey;
17
+ const baseUrl = config.baseUrl;
18
+ if (!baseUrl || !apiKey) {
19
+ throw new Error("Environment variables 'HOST_URL' or 'API_KEY' are not set.");
20
+ }
21
+ usersApi = new UserApi(baseUrl);
22
+ usersApi.setApiKey(apiKey);
23
+ emailId = generateRandomEmail();
24
+ console.log(`Generated email: ${emailId}`);
25
+ });
26
+ test('Test1:should create user successfully', async () => {
27
+ const createUserRequest = new CreateUser();
28
+ createUserRequest.emailId = emailId;
29
+ createUserRequest.userRole = CreateUser.UserRoleEnum.Member;
30
+ try {
31
+ const response = await usersApi.createUser([createUserRequest]);
32
+ console.log("User created successfully:", response);
33
+ console.log("Created User ID:", createdUserId);
34
+ expect(response).toBeDefined();
35
+ } catch (error:any) {
36
+ console.error("Error occurred while calling the API:", error.message);
37
+ expect(error.message).toBeUndefined();
38
+ }
39
+ },20000);
40
+ test('Test2:should retrieve list of users successfully', async () => {
41
+ const page = 1;
42
+ const pageSize = 20;
43
+ const search = emailId;
44
+ try {
45
+ const response = await usersApi.listUsers(page, pageSize, search);
46
+ console.log('Users list retrieved successfully:', response);
47
+ const usersList = response?.result;
48
+ if (Array.isArray(usersList)) {
49
+ for (let user of usersList) {
50
+ if (user.email === emailId) {
51
+ createdUserId = String(user.userId);
52
+ console.log("TestUserID: " + createdUserId);
53
+ break;
54
+ }
55
+ }
56
+ } else {
57
+ console.error('Users list is not available or not an array.');
58
+ throw new Error('Users list is invalid.');
59
+ }
60
+ expect(response).toBeDefined();
61
+ console.log("Created User ID:", createdUserId);
62
+ } catch (error:any) {
63
+ console.error('Error occurred while retrieving users:', error.message);
64
+ expect(error.message).toBeUndefined();
65
+ }
66
+ },20000);
67
+ test('Test3:should fail to retrieve list of users with negative parameters', async () => {
68
+ const page = -1;
69
+ const pageSize = -10;
70
+ const search = '';
71
+ try {
72
+ await usersApi.listUsers(page, pageSize, search);
73
+ throw new Error('Expected API to fail with invalid parameters');
74
+ } catch (error: any) {
75
+ console.error('Error occurred while retrieving users:', error.message);
76
+ expect(error.message).toBeDefined();
77
+ }
78
+ },20000);
79
+ test('Test4:should fail to retrieve list of users with exceeded parameters', async () => {
80
+ const page = 100;
81
+ const pageSize = 10000;
82
+ const search = '';
83
+ try {
84
+ await usersApi.listUsers(page, pageSize, search);
85
+ throw new Error('Expected API to fail with invalid parameters');
86
+ } catch (error: any) {
87
+ console.error('Error occurred while retrieving users:', error);
88
+ expect(error.response).toBeDefined();
89
+ expect(error.response?.status).toBe(400);
90
+ expect(error.response.statusText).toBe("Bad Request");
91
+ }
92
+ },20000);
93
+ test('Test5:should return error while create user when invalid email is provided', async () => {
94
+ const createUserRequest = new CreateUser();
95
+ createUserRequest.emailId = "INVALID_EMAIL";
96
+ try {
97
+ await usersApi.createUser([createUserRequest]);
98
+ throw new Error('Expected ApiException to be thrown due to invalid email ID');
99
+ } catch (error:any) {
100
+ console.log("Expected error occurred: " + error.message);
101
+ expect(error.message).toBeDefined();
102
+ }
103
+ },20000);
104
+ test('Test6:should return error while create user when empty email ID is provided', async () => {
105
+ const createUserRequest = new CreateUser();
106
+ createUserRequest.emailId = "";
107
+ try {
108
+ await usersApi.createUser([createUserRequest]);
109
+ throw new Error("Expected API exception due to empty email ID");
110
+ } catch (error:any) {
111
+ console.log("Expected error occurred");
112
+ expect(error.message).toBeDefined();
113
+ }
114
+ },20000);
115
+ test('Test7:should return error while create user when already existing email is provided', async () => {
116
+ const createUserRequest = new CreateUser();
117
+ createUserRequest.emailId = emailId;
118
+ try {
119
+ await usersApi.createUser([createUserRequest]);
120
+ throw new Error("Expected API exception due to empty email ID");
121
+ } catch (error:any) {
122
+ console.log("Expected error occurred");
123
+ expect(error.response).toBeDefined();
124
+ expect(error.response?.status).toBe(400);
125
+ expect(error.response.statusText).toBe("Bad Request");
126
+ }
127
+ },20000);
128
+ test('Test8:should return error while update user when invalid user ID is provided', async () => {
129
+ const updateUserRequest = {
130
+ userId: "INVALID_USERID"
131
+ };
132
+ try {
133
+ await usersApi.updateUser(updateUserRequest);
134
+ throw new Error('Expected error due to invalid user ID');
135
+ } catch (error:any) {
136
+ console.log('Expected error occurred: ' + error.message);
137
+ expect(error.message).toBeDefined();
138
+ }
139
+ },20000);
140
+ test('Test9:should retrieve user successfully', async () => {
141
+ try {
142
+ const response = await usersApi.getUser(createdUserId);
143
+ console.log('User retrieved successfully:', response);
144
+ expect(response).toBeDefined();
145
+ } catch (error:any) {
146
+ console.error("Error occurred while retrieving the user:", error.message);
147
+ }
148
+ },20000);
149
+ test('Test10:should return error while retrive user when invalid userId is provided', async () => {
150
+ const userId = "INVALID_USERID";
151
+ try {
152
+ await usersApi.getUser(userId);
153
+ throw new Error("Expected error due to invalid userId");
154
+ } catch (error:any) {
155
+ console.log("Expected error occurred: " + error.message);
156
+ expect(error.response).toBeDefined();
157
+ expect(error.response?.status).toBe(400);
158
+ expect(error.response.statusText).toBe("Bad Request");
159
+ }
160
+ },20000);
161
+ test('Test11:should return error while retrive user when user id is empty', async () => {
162
+ const userId = "";
163
+ try {
164
+ await usersApi.getUser(userId);
165
+ throw new Error("Expected error due to invalid userId");
166
+ } catch (error:any) {
167
+ console.log("Expected error occurred: " + error.message);
168
+ expect(error.response).toBeDefined();
169
+ expect(error.response?.status).toBe(400);
170
+ expect(error.response.statusText).toBe("Bad Request");
171
+ }
172
+ },20000);
173
+ test('Test12:should return error while retrive user when invalid userId is provided', async () => {
174
+ const userId = "INVALID_USERID";
175
+ console.log("TestUserID: " + userId);
176
+ try {
177
+ await usersApi.getUser(userId);
178
+ throw new Error("Expected error due to invalid userId");
179
+ } catch (error:any) {
180
+ console.log("Expected error occurred: " + error.message);
181
+ expect(error.message).toBeDefined();
182
+ }
183
+ },20000);
184
+ test('Test13: should resend invitation successfully', async () => {
185
+ try {
186
+ const response = await usersApi.resendInvitation(createdUserId);
187
+ expect(response).toBeDefined();
188
+ console.log('Invitation resent successfully!');
189
+ } catch (error: any) {
190
+ console.error('Error occurred while resending the invitation:', error.message);
191
+ throw new Error('Invitation resend failed');
192
+ }
193
+ },20000);
194
+ test('Test14:should fail to resend invitation with invalid user ID', async () => {
195
+ const userId = "INVALID_USERID";
196
+ try {
197
+ await usersApi.resendInvitation(userId);
198
+ throw new Error('Expected API to fail due to invalid user ID');
199
+ } catch (error:any) {
200
+ console.error('Error occurred while resending the invitation:', error.message);
201
+ expect(error.message).toBeDefined();
202
+ }
203
+ },20000);
204
+ test('Test15:should fail to resend invitation when user id is empty', async () => {
205
+ const userId = "";
206
+ try {
207
+ await usersApi.resendInvitation(userId);
208
+ throw new Error('Expected API to fail due to invalid user ID');
209
+ } catch (error:any) {
210
+ console.error('Error occurred while resending the invitation:', error);
211
+ expect(error).toBeDefined();
212
+ expect(error.response).toBeDefined();
213
+ expect(error.response?.status).toBe(400);
214
+ expect(error.response.statusText).toBe("Bad Request");
215
+ }
216
+ },20000);
217
+ test('Test16: should cancel invitation successfully', async () => {
218
+ try {
219
+ const response = await usersApi.cancelInvitation(createdUserId);
220
+ expect(response).toBeDefined();
221
+ console.log('Invitation canceled successfully!');
222
+ } catch (error: any) {
223
+ console.error('Error occurred while canceling the invitation:', error.message);
224
+ expect(error.message).toBeUndefined();
225
+ }
226
+ },2000);
227
+ test('Test17:should fail to cancel invitation due to invalid userId', async () => {
228
+ const userId = "INVALID_USERID";
229
+ try {
230
+ await usersApi.cancelInvitation(userId);
231
+ console.error('Unexpected success. Invitation should not have been canceled.');
232
+ throw new Error('Test failed: Invitation should not have been canceled');
233
+ } catch (error:any) {
234
+ console.error('Expected error occurred while canceling the invitation:', error.message);
235
+ expect(error.message).toBeDefined();
236
+ }
237
+ },20000);
238
+ test('Test18:should fail to cancel invitation due to empty userId', async () => {
239
+ const userId = "";
240
+ try {
241
+ await usersApi.cancelInvitation(userId);
242
+ console.error('Unexpected success. Invitation should not have been canceled.');
243
+ throw new Error('Test failed: Invitation should not have been canceled');
244
+ } catch (error:any) {
245
+ console.error('Expected error occurred while canceling the invitation', error);
246
+ expect(error).toBeDefined();
247
+ expect(error.response?.status).toBe(400);
248
+ expect(error.response.statusText).toBe("Bad Request");
249
+ }
250
+ },20000);
251
+ });
@@ -0,0 +1,163 @@
1
+ import { BrandingApi } from '../../api/brandingApi';
2
+ import * as sinon from 'sinon';
3
+
4
+ describe('BrandingApi Unit Test', () => {
5
+ let brandingApiStub: sinon.SinonStubbedInstance<BrandingApi>;
6
+
7
+ beforeEach(() => {
8
+ brandingApiStub = sinon.createStubInstance(BrandingApi);
9
+ brandingApiStub.createBrand = sinon.stub().resolves({ brandId: 'brand_id' });
10
+ brandingApiStub.updateBrand = sinon.stub().resolves({
11
+ success: true,
12
+ message: 'Brand updated successfully',
13
+ });
14
+ });
15
+
16
+ afterEach(() => {
17
+ sinon.restore();
18
+ });
19
+
20
+ it('should mock and verify createBrand call', async () => {
21
+ const mockBrandCreated = {
22
+ brandId: 'brand_id',
23
+ };
24
+
25
+ const brandData = {
26
+ brandName: "New Brand",
27
+ brandLogo: Buffer.from("mock_logo_data"),
28
+ backgroundColor: "#FFFFFF",
29
+ buttonColor: "#000000",
30
+ buttonTextColor: "#FFFFFF",
31
+ emailDisplayName: "Brand Email",
32
+ disclaimerDescription: "Disclaimer",
33
+ disclaimerTitle: "Disclaimer Title",
34
+ redirectUrl: "https://example.com",
35
+ redirectUri: "https://example.com",
36
+ isDefault: true,
37
+ canHideTagLine: false,
38
+ combineAuditTrail: true,
39
+ excludeAuditTrailFromEmail: false,
40
+ documentTimeZone: "UTC",
41
+ completedEmailType: "email_type",
42
+ emailSignedDocument: "email_signed_doc",
43
+ showBuiltInFormFields: true,
44
+ allowCustomFieldCreation: true,
45
+ showSharedCustomFields: true,
46
+ hideDecline: false,
47
+ hideSave: false
48
+ };
49
+
50
+ const result = await brandingApiStub.createBrand(brandData);
51
+
52
+ expect(result).toBeDefined();
53
+ expect(result.brandId).toBe('brand_id');
54
+
55
+ sinon.assert.calledOnceWithExactly(brandingApiStub.createBrand, brandData);
56
+ });
57
+
58
+ it('should mock and verify updateBrand call', async () => {
59
+ const mockBrandUpdated = {
60
+ success: true,
61
+ message: 'Brand updated successfully',
62
+ };
63
+
64
+ const brandId = 'brand_id';
65
+ const updatedBrandData = {
66
+ name: 'Updated Corporate Theme',
67
+ primaryColor: '#FF0000',
68
+ };
69
+ const result = await brandingApiStub.updateBrand(brandId, updatedBrandData);
70
+
71
+ expect(result).toBeDefined();
72
+ expect(result.success).toBe(true);
73
+ expect(result.message).toBe('Brand updated successfully');
74
+
75
+ sinon.assert.calledOnceWithExactly(brandingApiStub.updateBrand, brandId, updatedBrandData);
76
+ });
77
+
78
+ it('should mock and verify listBrands call', async () => {
79
+ const mockBrandList = [
80
+ {
81
+ brandId: 'brand_1',
82
+ name: 'Brand One',
83
+ primaryColor: '#FF0000',
84
+ },
85
+ {
86
+ brandId: 'brand_2',
87
+ name: 'Brand Two',
88
+ primaryColor: '#00FF00',
89
+ },
90
+ ];
91
+
92
+ brandingApiStub.listBrands = sinon.stub().resolves(mockBrandList);
93
+
94
+ const result = await brandingApiStub.listBrands();
95
+
96
+ expect(result).toBeDefined();
97
+ expect(result.length).toBe(2);
98
+ expect(result[0].brandId).toBe('brand_1');
99
+ expect(result[0].name).toBe('Brand One');
100
+ expect(result[0].primaryColor).toBe('#FF0000');
101
+
102
+ sinon.assert.calledOnce(brandingApiStub.listBrands);
103
+ });
104
+
105
+ it('should mock and verify getBrand call', async () => {
106
+ const brandId = 'brand_1';
107
+ const mockBrandDetails = {
108
+ brandId: 'brand_1',
109
+ name: 'Brand One',
110
+ primaryColor: '#FF0000',
111
+ backgroundColor: '#FFFFFF',
112
+ brandLogoUrl: 'https://example.com/logo.png',
113
+ };
114
+
115
+ brandingApiStub.getBrand = sinon.stub().resolves(mockBrandDetails);
116
+
117
+ const result = await brandingApiStub.getBrand(brandId);
118
+
119
+ expect(result).toBeDefined();
120
+ expect(result.brandId).toBe('brand_1');
121
+ expect(result.name).toBe('Brand One');
122
+ expect(result.primaryColor).toBe('#FF0000');
123
+ expect(result.backgroundColor).toBe('#FFFFFF');
124
+ expect(result.brandLogoUrl).toBe('https://example.com/logo.png');
125
+
126
+ sinon.assert.calledOnceWithExactly(brandingApiStub.getBrand, brandId);
127
+ });
128
+
129
+ it('should mock and verify deleteBrand call', async () => {
130
+ const brandId = 'brand_1';
131
+
132
+ const mockDeleteResponse = {
133
+ success: true,
134
+ message: 'Brand deleted successfully',
135
+ };
136
+
137
+ brandingApiStub.deleteBrand = sinon.stub().resolves(mockDeleteResponse);
138
+
139
+ const result = await brandingApiStub.deleteBrand(brandId);
140
+
141
+ expect(result).toBeDefined();
142
+ expect(result.success).toBe(true);
143
+ expect(result.message).toBe('Brand deleted successfully');
144
+
145
+ sinon.assert.calledOnceWithExactly(brandingApiStub.deleteBrand, brandId);
146
+ });
147
+
148
+ it('should mock and verify resetBrandSettingsToDefault call', async () => {
149
+ const brandId = 'brand_1';
150
+
151
+ const mockResetResponse = { success: true, message: 'Brand settings reset to default' };
152
+
153
+ brandingApiStub.resetBrandSettingsToDefault = sinon.stub().resolves(mockResetResponse);
154
+
155
+ const result = await brandingApiStub.resetBrandSettingsToDefault(brandId);
156
+
157
+ expect(result).toBeDefined();
158
+ expect(result.success).toBe(true);
159
+ expect(result.message).toBe('Brand settings reset to default');
160
+
161
+ sinon.assert.calledOnceWithExactly(brandingApiStub.resetBrandSettingsToDefault, brandId);
162
+ });
163
+ });
@@ -0,0 +1,143 @@
1
+ import { ContactsApi } from '../../api/contactsApi';
2
+ import * as sinon from 'sinon';
3
+
4
+ describe('ContactApi Unit Test', () => {
5
+ let contactApiStub: sinon.SinonStubbedInstance<ContactsApi>;
6
+
7
+ beforeEach(() => {
8
+ // Create a stub instance for the ContactApi
9
+ contactApiStub = sinon.createStubInstance(ContactsApi);
10
+
11
+ contactApiStub.createContact = sinon.stub().resolves({ contactId: 'contact_id' });
12
+ contactApiStub.updateContact = sinon.stub().resolves({
13
+ success: true,
14
+ message: 'Contact updated successfully',
15
+ });
16
+ });
17
+
18
+ afterEach(() => {
19
+ sinon.restore();
20
+ });
21
+
22
+ it('should mock and verify createContact call', async () => {
23
+ const mockContactCreated = {
24
+ contactId: 'contact_id',
25
+ };
26
+
27
+ const contactData = {
28
+ name: 'New contact',
29
+ email: 'newEmail@gmail.com',
30
+ phoneNumber: '9876543210',
31
+ jobTitle: 'Test',
32
+ companyName: 'Syncfusion',
33
+ };
34
+
35
+ contactApiStub.createContact.resolves(mockContactCreated);
36
+
37
+ const result = await contactApiStub.createContact(contactData);
38
+
39
+ expect(result).toBeDefined();
40
+ expect(result.contactId).toBe('contact_id');
41
+
42
+ sinon.assert.calledOnceWithExactly(contactApiStub.createContact, contactData);
43
+ });
44
+
45
+ it('should mock and verify listContacts call', async () => {
46
+ const mockContactList = [
47
+ {
48
+ contactId: 'contact_1',
49
+ name: 'Contact One',
50
+ email: 'contact1@example.com',
51
+ },
52
+ {
53
+ contactId: 'contact_2',
54
+ name: 'Contact Two',
55
+ email: 'contact2@example.com',
56
+ },
57
+ ];
58
+
59
+ contactApiStub.listContacts = sinon.stub().resolves(mockContactList);
60
+
61
+ const result = await contactApiStub.listContacts();
62
+
63
+ expect(result).toBeDefined();
64
+ expect(result.length).toBe(2);
65
+ expect(result[0].contactId).toBe('contact_1');
66
+ expect(result[0].name).toBe('Contact One');
67
+ expect(result[0].email).toBe('contact1@example.com');
68
+
69
+ sinon.assert.calledOnce(contactApiStub.listContacts);
70
+ });
71
+
72
+ it('should mock and verify updateContact call', async () => {
73
+ const mockUpdatedContact = {
74
+ success: true,
75
+ message: 'Contact updated successfully',
76
+ };
77
+
78
+ const contactId = 'contact_1';
79
+ const updatedContactData = {
80
+ name: 'Updated Contact One',
81
+ email: 'updatedEmail@example.com',
82
+ phoneNumber: '1234567890',
83
+ jobTitle: 'Updated Job Title',
84
+ companyName: 'Updated Company',
85
+ };
86
+
87
+ contactApiStub.updateContact = sinon.stub().resolves(mockUpdatedContact);
88
+
89
+ const result = await contactApiStub.updateContact(contactId, updatedContactData);
90
+
91
+ expect(result).toBeDefined();
92
+ expect(result.success).toBe(true);
93
+ expect(result.message).toBe('Contact updated successfully');
94
+
95
+ sinon.assert.calledOnceWithExactly(contactApiStub.updateContact, contactId, updatedContactData);
96
+ });
97
+
98
+ it('should mock and verify deleteContact call', async () => {
99
+ const mockDeleteResponse = {
100
+ success: true,
101
+ message: 'Contact deleted successfully',
102
+ };
103
+
104
+ const contactId = 'contact_1';
105
+
106
+ contactApiStub.deleteContact = sinon.stub().resolves(mockDeleteResponse);
107
+
108
+ const result = await contactApiStub.deleteContact(contactId);
109
+
110
+ expect(result).toBeDefined();
111
+ expect(result.success).toBe(true);
112
+ expect(result.message).toBe('Contact deleted successfully');
113
+
114
+ sinon.assert.calledOnceWithExactly(contactApiStub.deleteContact, contactId);
115
+ });
116
+
117
+ it('should mock and verify getContact call', async () => {
118
+ const mockContactDetails = {
119
+ contactId: 'contact_1',
120
+ name: 'Contact One',
121
+ email: 'contact1@example.com',
122
+ phoneNumber: '9876543210',
123
+ jobTitle: 'Software Engineer',
124
+ companyName: 'TechCorp',
125
+ };
126
+
127
+ const contactId = 'contact_1';
128
+
129
+ contactApiStub.getContact = sinon.stub().resolves(mockContactDetails);
130
+
131
+ const result = await contactApiStub.getContact(contactId);
132
+
133
+ expect(result).toBeDefined();
134
+ expect(result.contactId).toBe('contact_1');
135
+ expect(result.name).toBe('Contact One');
136
+ expect(result.email).toBe('contact1@example.com');
137
+ expect(result.phoneNumber).toBe('9876543210');
138
+ expect(result.jobTitle).toBe('Software Engineer');
139
+ expect(result.companyName).toBe('TechCorp');
140
+
141
+ sinon.assert.calledOnceWithExactly(contactApiStub.getContact, contactId);
142
+ });
143
+ });
@@ -0,0 +1,123 @@
1
+ import { CustomFieldApi } from '../../api/customFieldApi';
2
+ import * as sinon from 'sinon';
3
+
4
+ describe('CustomFieldsApi Unit Test', () => {
5
+ let customFieldsApiStub: sinon.SinonStubbedInstance<CustomFieldApi>;
6
+
7
+ beforeEach(() => {
8
+ customFieldsApiStub = sinon.createStubInstance(CustomFieldApi);
9
+
10
+ // Create a plain object stub with required methods manually
11
+ customFieldsApiStub.createCustomField = sinon.stub().resolves({ customFieldId: 'field_id' });
12
+ customFieldsApiStub.updateCustomField = sinon.stub().resolves({
13
+ success: true,
14
+ message: 'Custom field updated successfully',
15
+ });
16
+ });
17
+
18
+ afterEach(() => {
19
+ sinon.restore();
20
+ });
21
+
22
+ it('should mock and verify createCustomField call', async () => {
23
+ const customFieldData = {
24
+ name: 'Employee ID',
25
+ type: 'text',
26
+ required: true,
27
+ defaultValue: '12345',
28
+ };
29
+
30
+ const result = await customFieldsApiStub.createCustomField(customFieldData);
31
+
32
+ expect(result).toBeDefined();
33
+ expect(result.customFieldId).toBe('field_id');
34
+
35
+ sinon.assert.calledOnceWithExactly(customFieldsApiStub.createCustomField, customFieldData);
36
+ });
37
+
38
+ it('should mock and verify updateCustomField call', async () => {
39
+ const customFieldId = 'field_id';
40
+ const updatedFieldData = {
41
+ name: 'Updated Employee ID',
42
+ type: 'text',
43
+ required: false,
44
+ defaultValue: '00000',
45
+ };
46
+
47
+ const result = await customFieldsApiStub.updateCustomField(customFieldId, updatedFieldData);
48
+
49
+ expect(result).toBeDefined();
50
+ expect(result.success).toBe(true);
51
+ expect(result.message).toBe('Custom field updated successfully');
52
+
53
+ sinon.assert.calledOnceWithExactly(customFieldsApiStub.updateCustomField, customFieldId, updatedFieldData);
54
+ });
55
+
56
+ it('should mock and verify listCustomFields call', async () => {
57
+ const mockCustomFieldList = [
58
+ {
59
+ customFieldId: 'field_1',
60
+ name: 'Employee ID',
61
+ type: 'text',
62
+ required: true,
63
+ defaultValue: '12345',
64
+ },
65
+ {
66
+ customFieldId: 'field_2',
67
+ name: 'Department',
68
+ type: 'select',
69
+ required: false,
70
+ defaultValue: 'HR',
71
+ },
72
+ ];
73
+
74
+ customFieldsApiStub.listCustomFields = sinon.stub().resolves(mockCustomFieldList);
75
+
76
+ const result = await customFieldsApiStub.listCustomFields();
77
+
78
+ expect(result).toBeDefined();
79
+ expect(result.length).toBe(2);
80
+ expect(result[0].customFieldId).toBe('field_1');
81
+ expect(result[0].name).toBe('Employee ID');
82
+ expect(result[1].customFieldId).toBe('field_2');
83
+ expect(result[1].name).toBe('Department');
84
+
85
+ sinon.assert.calledOnce(customFieldsApiStub.listCustomFields);
86
+ });
87
+
88
+ it('should mock and verify deleteCustomField call', async () => {
89
+ const mockDeleteResponse = {
90
+ success: true,
91
+ message: 'Custom field deleted successfully',
92
+ };
93
+
94
+ const customFieldId = 'field_1';
95
+
96
+ customFieldsApiStub.deleteCustomField = sinon.stub().resolves(mockDeleteResponse);
97
+
98
+ const result = await customFieldsApiStub.deleteCustomField(customFieldId);
99
+
100
+ expect(result).toBeDefined();
101
+ expect(result.success).toBe(true);
102
+ expect(result.message).toBe('Custom field deleted successfully');
103
+
104
+ sinon.assert.calledOnceWithExactly(customFieldsApiStub.deleteCustomField, customFieldId);
105
+ });
106
+
107
+ it('should mock and verify createEmbeddedCustomFieldUrl call', async () => {
108
+ const customFieldId = 'field_id';
109
+
110
+ const mockEmbeddedUrlResponse = {
111
+ success: true,
112
+ url: 'https://example.com/embedded/customfield/field_id',
113
+ };
114
+ customFieldsApiStub.createEmbeddedCustomFieldUrl = sinon.stub().resolves(mockEmbeddedUrlResponse);
115
+ const result = await customFieldsApiStub.createEmbeddedCustomFieldUrl(customFieldId);
116
+
117
+ expect(result).toBeDefined();
118
+ expect(result.success).toBe(true);
119
+ expect(result.url).toBe('https://example.com/embedded/customfield/field_id');
120
+
121
+ sinon.assert.calledOnceWithExactly(customFieldsApiStub.createEmbeddedCustomFieldUrl, customFieldId);
122
+ });
123
+ });