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,545 @@
1
+ import { DocumentApi } from '../../api/documentApi';
2
+ import * as sinon from 'sinon';
3
+
4
+ describe('DocumentApi Unit Test', () => {
5
+ let documentApiStub: sinon.SinonStubbedInstance<DocumentApi> & {
6
+ sendDocumentFromTemplate: sinon.SinonStub;
7
+ };
8
+
9
+ beforeEach(() => {
10
+ documentApiStub = {
11
+ ...sinon.createStubInstance(DocumentApi),
12
+ sendDocumentFromTemplate: sinon.stub()
13
+ };
14
+ });
15
+
16
+ afterEach(() => {
17
+ sinon.restore();
18
+ });
19
+
20
+ it('should mock and verify sendDocument call with full SendForSign data', async () => {
21
+ const sendForSignData = {
22
+ document_id: "12345",
23
+ title: "Sample Document",
24
+ message: "Please sign this document.",
25
+ roles: [],
26
+ brand_id: "brand123",
27
+ labels: ["label1", "label2"],
28
+ disable_emails: false,
29
+ disable_sms: false,
30
+ hide_document_id: false,
31
+ expiry_days: 30,
32
+ expiry_date_type: "Days",
33
+ expiry_value: 60,
34
+ enable_print_and_sign: true,
35
+ enable_reassign: true,
36
+ enable_signing_order: true,
37
+ use_text_tags: false,
38
+ text_tag_definitions: [],
39
+ document_info: [],
40
+ on_behalf_of: null,
41
+ is_sandbox: false,
42
+ role_removal_indices: [],
43
+ document_download_option: "Combined",
44
+ recipient_notification_settings: null,
45
+ signers: [
46
+ {
47
+ name: "John Doe",
48
+ email: "john.doe@example.com"
49
+ }
50
+ ]
51
+ };
52
+
53
+ const mockSendResponse = {
54
+ documentId: "12345",
55
+ status: "sent",
56
+ message: "Document has been sent successfully."
57
+ };
58
+
59
+ documentApiStub.sendDocument.resolves(mockSendResponse);
60
+
61
+ const result = await documentApiStub.sendDocument(sendForSignData);
62
+
63
+ expect(result).toBeDefined();
64
+ expect(result.documentId).toBe("12345");
65
+ expect(result.status).toBe("sent");
66
+ expect(result.message).toBe("Document has been sent successfully.");
67
+
68
+ sinon.assert.calledOnceWithExactly(documentApiStub.sendDocument, sendForSignData);
69
+ });
70
+
71
+ it('should mock and verify sendDocumentFromTemplate call', async () => {
72
+ const templateId = 'template789';
73
+ const sendFromTemplateData = {
74
+ title: 'Template Based Document',
75
+ message: 'Please sign this document generated from a template.',
76
+ roles: [
77
+ {
78
+ role: 'Signer',
79
+ name: 'Alice Smith',
80
+ email: 'alice.smith@example.com'
81
+ }
82
+ ],
83
+ brand_id: 'brand123',
84
+ labels: ['template-doc'],
85
+ disable_emails: false,
86
+ disable_sms: false,
87
+ hide_document_id: false,
88
+ expiry_days: 15,
89
+ expiry_date_type: 'Days',
90
+ expiry_value: 15,
91
+ enable_print_and_sign: false,
92
+ enable_reassign: true,
93
+ enable_signing_order: false,
94
+ use_text_tags: false,
95
+ text_tag_definitions: [],
96
+ on_behalf_of: null,
97
+ is_sandbox: false,
98
+ document_download_option: 'Combined',
99
+ recipient_notification_settings: null
100
+ };
101
+
102
+ const mockSendFromTemplateResponse = {
103
+ documentId: 'generatedDocFromTemplate',
104
+ status: 'sent',
105
+ message: 'Document from template has been sent successfully.'
106
+ };
107
+
108
+ documentApiStub.sendDocumentFromTemplate.resolves(mockSendFromTemplateResponse);
109
+
110
+ const result = await documentApiStub.sendDocumentFromTemplate(templateId, sendFromTemplateData);
111
+
112
+ expect(result).toBeDefined();
113
+ expect(result.documentId).toBe('generatedDocFromTemplate');
114
+ expect(result.status).toBe('sent');
115
+ expect(result.message).toBe('Document from template has been sent successfully.');
116
+
117
+ sinon.assert.calledOnceWithExactly(documentApiStub.sendDocumentFromTemplate, templateId, sendFromTemplateData);
118
+ });
119
+
120
+ it('should mock and verify listDocuments call', async () => {
121
+ const mockListResponse = {
122
+ documents: [
123
+ {
124
+ documentId: 'doc1',
125
+ title: 'Document 1',
126
+ status: 'sent',
127
+ createdAt: '2025-05-18T10:00:00Z',
128
+ sender: 'sender@example.com',
129
+ recipient: 'recipient@example.com',
130
+ },
131
+ {
132
+ documentId: 'doc2',
133
+ title: 'Document 2',
134
+ status: 'signed',
135
+ createdAt: '2025-05-19T11:00:00Z',
136
+ sender: 'sender@example.com',
137
+ recipient: 'recipient@example.com',
138
+ },
139
+ ],
140
+ totalCount: 2,
141
+ pageSize: 10,
142
+ currentPage: 1,
143
+ };
144
+
145
+ documentApiStub.listDocuments.resolves(mockListResponse);
146
+
147
+ const result = await documentApiStub.listDocuments({ page: 1, pageSize: 10 });
148
+
149
+ expect(result).toBeDefined();
150
+ expect(result.documents.length).toBe(2);
151
+ expect(result.documents[0].documentId).toBe('doc1');
152
+ expect(result.documents[1].status).toBe('signed');
153
+ expect(result.totalCount).toBe(2);
154
+
155
+ sinon.assert.calledOnceWithExactly(documentApiStub.listDocuments, { page: 1, pageSize: 10 });
156
+ });
157
+
158
+ it('should mock and verify downloadDocument call', async () => {
159
+ const documentId = 'doc123';
160
+
161
+ const mockDownloadResponse = Buffer.from('PDF file content');
162
+
163
+ documentApiStub.downloadDocument = sinon.stub().resolves(mockDownloadResponse);
164
+
165
+ const result = await documentApiStub.downloadDocument(documentId);
166
+
167
+ expect(result).toBeDefined();
168
+ expect(result).toBeInstanceOf(Buffer);
169
+ expect(result.toString()).toBe('PDF file content');
170
+
171
+ sinon.assert.calledOnceWithExactly(documentApiStub.downloadDocument, documentId);
172
+ });
173
+
174
+ it('should mock and verify sendReminder call', async () => {
175
+ const documentId = 'doc123';
176
+ const reminderData = {
177
+ message: 'Reminder to sign the document.',
178
+ recipients: ['john.doe@example.com'],
179
+ };
180
+
181
+ const mockReminderResponse = {
182
+ success: true,
183
+ message: 'Reminder sent successfully.',
184
+ documentId: 'doc123',
185
+ };
186
+
187
+ documentApiStub.sendReminder = sinon.stub().resolves(mockReminderResponse);
188
+
189
+ const result = await documentApiStub.sendReminder(documentId, reminderData);
190
+
191
+ expect(result).toBeDefined();
192
+ expect(result.success).toBe(true);
193
+ expect(result.message).toBe('Reminder sent successfully.');
194
+ expect(result.documentId).toBe(documentId);
195
+
196
+ sinon.assert.calledOnceWithExactly(documentApiStub.sendReminder, documentId, reminderData);
197
+ });
198
+
199
+ it('should mock and verify revokeDocument call', async () => {
200
+ const documentId = 'doc123';
201
+ const revokeData = {
202
+ reason: 'Document contains incorrect information.'
203
+ };
204
+
205
+ const mockRevokeResponse = {
206
+ success: true,
207
+ message: 'Document has been revoked successfully.',
208
+ documentId: 'doc123'
209
+ };
210
+
211
+ documentApiStub.revokeDocument = sinon.stub().resolves(mockRevokeResponse);
212
+
213
+ const result = await documentApiStub.revokeDocument(documentId, revokeData);
214
+
215
+ expect(result).toBeDefined();
216
+ expect(result.success).toBe(true);
217
+ expect(result.message).toBe('Document has been revoked successfully.');
218
+ expect(result.documentId).toBe(documentId);
219
+
220
+ sinon.assert.calledOnceWithExactly(documentApiStub.revokeDocument, documentId, revokeData);
221
+ });
222
+
223
+ it('should mock and verify addDocumentTag call', async () => {
224
+ const documentId = 'doc123';
225
+ const tagData = {
226
+ tags: ['urgent', 'review']
227
+ };
228
+
229
+ const mockAddTagResponse = {
230
+ success: true,
231
+ message: 'Tags added to document successfully.',
232
+ documentId: 'doc123',
233
+ tags: ['urgent', 'review']
234
+ };
235
+
236
+ documentApiStub.addDocumentTag = sinon.stub().resolves(mockAddTagResponse);
237
+
238
+ const result = await documentApiStub.addDocumentTag(documentId, tagData);
239
+
240
+ expect(result).toBeDefined();
241
+ expect(result.success).toBe(true);
242
+ expect(result.message).toBe('Tags added to document successfully.');
243
+ expect(result.documentId).toBe(documentId);
244
+ expect(result.tags).toEqual(['urgent', 'review']);
245
+
246
+ sinon.assert.calledOnceWithExactly(documentApiStub.addDocumentTag, documentId, tagData);
247
+ });
248
+
249
+ it('should mock and verify deleteDocumentTag call', async () => {
250
+ const documentId = 'doc123';
251
+ const tagData = {
252
+ tags: ['urgent', 'review']
253
+ };
254
+
255
+ const mockDeleteTagResponse = {
256
+ success: true,
257
+ message: 'Tags deleted from document successfully.',
258
+ documentId: 'doc123',
259
+ tags: []
260
+ };
261
+
262
+ documentApiStub.deleteDocumentTag = sinon.stub().resolves(mockDeleteTagResponse);
263
+
264
+ const result = await documentApiStub.deleteDocumentTag(documentId, tagData);
265
+
266
+ expect(result).toBeDefined();
267
+ expect(result.success).toBe(true);
268
+ expect(result.message).toBe('Tags deleted from document successfully.');
269
+ expect(result.documentId).toBe(documentId);
270
+ expect(result.tags).toEqual([]);
271
+
272
+ sinon.assert.calledOnceWithExactly(documentApiStub.deleteDocumentTag, documentId, tagData);
273
+ });
274
+
275
+ it('should mock and verify prefillFormFields call', async () => {
276
+ const documentId = 'doc123';
277
+ const formData = {
278
+ title: 'Sample Document',
279
+ message: 'Please review and sign this document.',
280
+ formFields: {
281
+ 'FirstName': 'John',
282
+ 'LastName': 'Doe',
283
+ 'Email': 'john.doe@example.com',
284
+ 'Phone': '123-456-7890'
285
+ },
286
+ signers: [
287
+ {
288
+ name: 'John Doe',
289
+ email: 'john.doe@example.com',
290
+ role: 'Signer'
291
+ }
292
+ ]
293
+ };
294
+
295
+ const mockPrefillResponse = {
296
+ documentId: 'doc123',
297
+ status: 'prefilled',
298
+ message: 'Document fields have been prefilled successfully.',
299
+ prefilledFields: formData.formFields
300
+ };
301
+
302
+ documentApiStub.prefillFormFields = sinon.stub().resolves(mockPrefillResponse);
303
+
304
+ const result = await documentApiStub.prefillFormFields(documentId, formData);
305
+
306
+ expect(result).toBeDefined();
307
+ expect(result.documentId).toBe('doc123');
308
+ expect(result.status).toBe('prefilled');
309
+ expect(result.message).toBe('Document fields have been prefilled successfully.');
310
+ expect(result.prefilledFields).toEqual(formData.formFields);
311
+
312
+ sinon.assert.calledOnceWithExactly(documentApiStub.prefillFormFields, documentId, formData);
313
+ });
314
+
315
+ it('should mock and verify downloadAuditLog call', async () => {
316
+ const documentId = 'doc123';
317
+ const mockAuditLogResponse = {
318
+ documentId: 'doc123',
319
+ status: 'downloaded',
320
+ message: 'Audit log has been downloaded successfully.',
321
+ auditLogUrl: 'https://example.com/audit/logs/doc123-audit-log.pdf'
322
+ };
323
+
324
+ documentApiStub.downloadAuditLog = sinon.stub().resolves(mockAuditLogResponse);
325
+
326
+ const result = await documentApiStub.downloadAuditLog(documentId);
327
+
328
+ expect(result).toBeDefined();
329
+ expect(result.documentId).toBe('doc123');
330
+ expect(result.status).toBe('downloaded');
331
+ expect(result.message).toBe('Audit log has been downloaded successfully.');
332
+ expect(result.auditLogUrl).toBe('https://example.com/audit/logs/doc123-audit-log.pdf');
333
+
334
+ sinon.assert.calledOnceWithExactly(documentApiStub.downloadAuditLog, documentId);
335
+ });
336
+
337
+ it('should mock and verify changeAccessCode call', async () => {
338
+ const documentId = 'doc123';
339
+ const newAccessCode = 'newAccessCode123';
340
+ const mockChangeAccessCodeResponse = {
341
+ documentId: 'doc123',
342
+ status: 'access code updated',
343
+ message: 'The access code has been successfully changed.',
344
+ newAccessCode: 'newAccessCode123'
345
+ };
346
+
347
+ documentApiStub.changeAccessCode = sinon.stub().resolves(mockChangeAccessCodeResponse);
348
+
349
+ const result = await documentApiStub.changeAccessCode(documentId, newAccessCode);
350
+
351
+ expect(result).toBeDefined();
352
+ expect(result.documentId).toBe('doc123');
353
+ expect(result.status).toBe('access code updated');
354
+ expect(result.message).toBe('The access code has been successfully changed.');
355
+ expect(result.newAccessCode).toBe('newAccessCode123');
356
+
357
+ sinon.assert.calledOnceWithExactly(documentApiStub.changeAccessCode, documentId, newAccessCode);
358
+ });
359
+
360
+ it('should mock and verify changeRecipients call', async () => {
361
+ const documentId = 'doc123';
362
+ const newRecipients = [
363
+ { name: 'Alice Doe', email: 'alice.doe@example.com' },
364
+ { name: 'Bob Smith', email: 'bob.smith@example.com' }
365
+ ];
366
+
367
+ const mockChangeRecipientsResponse = {
368
+ documentId: 'doc123',
369
+ status: 'recipients updated',
370
+ message: 'Recipients have been successfully updated.',
371
+ recipients: newRecipients
372
+ };
373
+
374
+ documentApiStub.changeRecipients = sinon.stub().resolves(mockChangeRecipientsResponse);
375
+
376
+ const result = await documentApiStub.changeRecipients(documentId, newRecipients);
377
+
378
+ expect(result).toBeDefined();
379
+ expect(result.documentId).toBe('doc123');
380
+ expect(result.status).toBe('recipients updated');
381
+ expect(result.message).toBe('Recipients have been successfully updated.');
382
+ expect(result.recipients).toEqual(newRecipients);
383
+
384
+ sinon.assert.calledOnceWithExactly(documentApiStub.changeRecipients, documentId, newRecipients);
385
+ });
386
+
387
+ it('should mock and verify getEmbeddedSigningLink call', async () => {
388
+ const documentId = 'doc123';
389
+ const signerId = 'signer123';
390
+
391
+ const mockEmbeddedSigningLinkResponse = {
392
+ documentId: 'doc123',
393
+ signerId: 'signer123',
394
+ embeddedSignUrl: 'https://signing-platform.com/embed/sign/document/12345'
395
+ };
396
+
397
+ documentApiStub.getEmbeddedSigningLink = sinon.stub().resolves(mockEmbeddedSigningLinkResponse);
398
+
399
+ const result = await documentApiStub.getEmbeddedSigningLink(documentId, signerId);
400
+
401
+ expect(result).toBeDefined();
402
+ expect(result.documentId).toBe('doc123');
403
+ expect(result.signerId).toBe('signer123');
404
+ expect(result.embeddedSignUrl).toBe('https://signing-platform.com/embed/sign/document/12345');
405
+
406
+ sinon.assert.calledOnceWithExactly(documentApiStub.getEmbeddedSigningLink, documentId, signerId);
407
+ });
408
+
409
+ it('should mock and verify addAuthentication call', async () => {
410
+ const documentId = 'doc123';
411
+ const authenticationData = {
412
+ authenticationMethod: 'password',
413
+ password: 'securePassword123',
414
+ enableMFA: true,
415
+ mfaMethod: 'sms',
416
+ };
417
+
418
+ const mockAuthenticationResponse = {
419
+ documentId: 'doc123',
420
+ status: 'authentication_added',
421
+ message: 'Authentication method added successfully.'
422
+ };
423
+
424
+ documentApiStub.addAuthentication.resolves(mockAuthenticationResponse);
425
+
426
+ const result = await documentApiStub.addAuthentication(documentId, authenticationData);
427
+
428
+ expect(result).toBeDefined();
429
+ expect(result.documentId).toBe('doc123');
430
+ expect(result.status).toBe('authentication_added');
431
+ expect(result.message).toBe('Authentication method added successfully.');
432
+
433
+ sinon.assert.calledOnceWithExactly(documentApiStub.addAuthentication, documentId, authenticationData);
434
+ });
435
+
436
+ it('should mock and verify removeAuthentication call', async () => {
437
+ const documentId = 'doc123';
438
+
439
+ const mockRemoveAuthResponse = {
440
+ documentId: 'doc123',
441
+ status: 'authentication_removed',
442
+ message: 'Authentication method removed successfully.'
443
+ };
444
+
445
+ documentApiStub.removeAuthentication.resolves(mockRemoveAuthResponse);
446
+
447
+ const result = await documentApiStub.removeAuthentication(documentId);
448
+
449
+ expect(result).toBeDefined();
450
+ expect(result.documentId).toBe('doc123');
451
+ expect(result.status).toBe('authentication_removed');
452
+ expect(result.message).toBe('Authentication method removed successfully.');
453
+
454
+ sinon.assert.calledOnceWithExactly(documentApiStub.removeAuthentication, documentId);
455
+ });
456
+
457
+
458
+ it('should mock and verify extendDocumentExpiry call', async () => {
459
+ const documentId = 'doc123';
460
+ const newExpiryDate = '2025-06-01';
461
+
462
+ const mockExtendExpiryResponse = {
463
+ documentId: 'doc123',
464
+ status: 'expiry_extended',
465
+ newExpiryDate: newExpiryDate,
466
+ message: 'Document expiry extended successfully.'
467
+ };
468
+
469
+ documentApiStub.extendDocumentExpiry = sinon.stub().resolves(mockExtendExpiryResponse);
470
+
471
+ const result = await documentApiStub.extendDocumentExpiry(documentId, newExpiryDate);
472
+
473
+ expect(result).toBeDefined();
474
+ expect(result.documentId).toBe('doc123');
475
+ expect(result.status).toBe('expiry_extended');
476
+ expect(result.newExpiryDate).toBe(newExpiryDate);
477
+ expect(result.message).toBe('Document expiry extended successfully.');
478
+
479
+ sinon.assert.calledOnceWithExactly(documentApiStub.extendDocumentExpiry, documentId, newExpiryDate);
480
+ });
481
+
482
+ it('should mock and verify listBehalfDocuments call', async () => {
483
+ const onBehalfOf = 'john.doe@example.com';
484
+
485
+ const mockBehalfDocuments = [
486
+ {
487
+ documentId: 'doc123',
488
+ title: 'Sample Document 1',
489
+ status: 'signed',
490
+ onBehalfOf: 'john.doe@example.com',
491
+ },
492
+ {
493
+ documentId: 'doc124',
494
+ title: 'Sample Document 2',
495
+ status: 'pending',
496
+ onBehalfOf: 'john.doe@example.com',
497
+ },
498
+ ];
499
+
500
+ documentApiStub.listBehalfDocuments = sinon.stub().resolves(mockBehalfDocuments);
501
+
502
+ const result = await documentApiStub.listBehalfDocuments(onBehalfOf);
503
+
504
+ expect(result).toBeDefined();
505
+ expect(result.length).toBe(2);
506
+ expect(result[0].documentId).toBe('doc123');
507
+ expect(result[0].status).toBe('signed');
508
+ expect(result[1].status).toBe('pending');
509
+ expect(result[1].title).toBe('Sample Document 2');
510
+
511
+ sinon.assert.calledOnceWithExactly(documentApiStub.listBehalfDocuments, onBehalfOf);
512
+ });
513
+
514
+ it('should mock and verify listTeamDocuments call', async () => {
515
+ const teamId = 'team123';
516
+
517
+ const mockTeamDocuments = [
518
+ {
519
+ documentId: 'doc123',
520
+ title: 'Team Document 1',
521
+ status: 'signed',
522
+ teamId: 'team123',
523
+ },
524
+ {
525
+ documentId: 'doc124',
526
+ title: 'Team Document 2',
527
+ status: 'pending',
528
+ teamId: 'team123',
529
+ },
530
+ ];
531
+
532
+ documentApiStub.listTeamDocuments = sinon.stub().resolves(mockTeamDocuments);
533
+
534
+ const result = await documentApiStub.listTeamDocuments(teamId);
535
+
536
+ expect(result).toBeDefined();
537
+ expect(result.length).toBe(2);
538
+ expect(result[0].documentId).toBe('doc123');
539
+ expect(result[0].status).toBe('signed');
540
+ expect(result[1].status).toBe('pending');
541
+ expect(result[1].title).toBe('Team Document 2');
542
+
543
+ sinon.assert.calledOnceWithExactly(documentApiStub.listTeamDocuments, teamId);
544
+ });
545
+ });
@@ -0,0 +1,34 @@
1
+ import { PlanApi } from '../../api/planApi'; // Adjust path accordingly
2
+ import * as sinon from 'sinon';
3
+
4
+ describe('PlanApi Unit Test', () => {
5
+ let planApiStub: sinon.SinonStubbedInstance<PlanApi>;
6
+
7
+ beforeEach(() => {
8
+ // Create a stub instance for the PlanApi class
9
+ planApiStub = sinon.createStubInstance(PlanApi);
10
+
11
+ planApiStub.getBalanceDocumentCredits = sinon.stub().resolves({
12
+ balanceCredits: 150,
13
+ });
14
+
15
+ planApiStub.someOtherMethod = sinon.stub().resolves({ success: true });
16
+ });
17
+
18
+ afterEach(() => {
19
+ sinon.restore();
20
+ });
21
+
22
+ it('should mock and verify getBalanceDocumentCredits call', async () => {
23
+ const expectedBalance = {
24
+ balanceCredits: 150,
25
+ };
26
+
27
+ const result = await planApiStub.getBalanceDocumentCredits();
28
+
29
+ expect(result).toBeDefined();
30
+ expect(result.balanceCredits).toBe(150);
31
+
32
+ sinon.assert.calledOnce(planApiStub.getBalanceDocumentCredits);
33
+ });
34
+ });