boldsign 1.0.3 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (533) 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 +1193 -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-2.0.0.tgz +0 -0
  20. package/dist/api/apis.d.ts +1 -1
  21. package/dist/api/apis.js +1 -1
  22. package/dist/api/brandingApi.d.ts +2 -2
  23. package/dist/api/brandingApi.js +10 -4
  24. package/dist/api/brandingApi.js.map +1 -1
  25. package/dist/model/auditTrail.d.ts +3 -1
  26. package/dist/model/auditTrail.js +2 -0
  27. package/dist/model/auditTrail.js.map +1 -1
  28. package/dist/model/collaborationSettings.d.ts +17 -0
  29. package/dist/model/collaborationSettings.js +33 -0
  30. package/dist/model/collaborationSettings.js.map +1 -0
  31. package/dist/model/createTemplateRequest.d.ts +1 -1
  32. package/dist/model/createTemplateRequest.js +5 -5
  33. package/dist/model/createTemplateRequest.js.map +1 -1
  34. package/dist/model/documentFiles.d.ts +1 -0
  35. package/dist/model/documentFiles.js +5 -0
  36. package/dist/model/documentFiles.js.map +1 -1
  37. package/dist/model/documentFormFields.d.ts +4 -0
  38. package/dist/model/documentFormFields.js +15 -0
  39. package/dist/model/documentFormFields.js.map +1 -1
  40. package/dist/model/documentSigner.d.ts +1 -0
  41. package/dist/model/documentSigner.js +5 -0
  42. package/dist/model/documentSigner.js.map +1 -1
  43. package/dist/model/documentSignerDetails.d.ts +1 -0
  44. package/dist/model/documentSignerDetails.js +5 -0
  45. package/dist/model/documentSignerDetails.js.map +1 -1
  46. package/dist/model/embeddedCreateTemplateRequest.d.ts +1 -1
  47. package/dist/model/embeddedCreateTemplateRequest.js +5 -5
  48. package/dist/model/embeddedCreateTemplateRequest.js.map +1 -1
  49. package/dist/model/embeddedDocumentRequest.d.ts +1 -1
  50. package/dist/model/embeddedDocumentRequest.js +5 -5
  51. package/dist/model/embeddedDocumentRequest.js.map +1 -1
  52. package/dist/model/embeddedMergeTemplateFormRequest.d.ts +1 -1
  53. package/dist/model/embeddedMergeTemplateFormRequest.js +5 -5
  54. package/dist/model/embeddedMergeTemplateFormRequest.js.map +1 -1
  55. package/dist/model/embeddedSendTemplateFormRequest.d.ts +1 -1
  56. package/dist/model/embeddedSendTemplateFormRequest.js +5 -5
  57. package/dist/model/embeddedSendTemplateFormRequest.js.map +1 -1
  58. package/dist/model/formField.d.ts +2 -0
  59. package/dist/model/formField.js +5 -0
  60. package/dist/model/formField.js.map +1 -1
  61. package/dist/model/index.d.ts +2 -1
  62. package/dist/model/index.js +6 -3
  63. package/dist/model/index.js.map +1 -1
  64. package/dist/model/mergeAndSendForSignForm.d.ts +1 -1
  65. package/dist/model/mergeAndSendForSignForm.js +5 -5
  66. package/dist/model/mergeAndSendForSignForm.js.map +1 -1
  67. package/dist/model/sendForSign.d.ts +1 -1
  68. package/dist/model/sendForSign.js +5 -5
  69. package/dist/model/sendForSign.js.map +1 -1
  70. package/dist/model/sendForSignFromTemplateForm.d.ts +1 -1
  71. package/dist/model/sendForSignFromTemplateForm.js +5 -5
  72. package/dist/model/sendForSignFromTemplateForm.js.map +1 -1
  73. package/dist/model/templateFormFields.d.ts +2 -0
  74. package/dist/model/templateFormFields.js +5 -0
  75. package/dist/model/templateFormFields.js.map +1 -1
  76. package/dist/model/textTagDefinition.d.ts +2 -0
  77. package/dist/model/textTagDefinition.js +5 -0
  78. package/dist/model/textTagDefinition.js.map +1 -1
  79. package/dist/model/viewBrandDetails.d.ts +1 -0
  80. package/dist/model/viewBrandDetails.js +5 -0
  81. package/dist/model/viewBrandDetails.js.map +1 -1
  82. package/dist/tests/config.d.ts +5 -0
  83. package/dist/tests/config.js +43 -0
  84. package/dist/tests/config.js.map +1 -0
  85. package/dist/tests/integration/BrandingApiTest.spec.d.ts +1 -0
  86. package/dist/tests/integration/BrandingApiTest.spec.js +310 -0
  87. package/dist/tests/integration/BrandingApiTest.spec.js.map +1 -0
  88. package/dist/tests/integration/ContactsApiTest.spec.d.ts +1 -0
  89. package/dist/tests/integration/ContactsApiTest.spec.js +249 -0
  90. package/dist/tests/integration/ContactsApiTest.spec.js.map +1 -0
  91. package/dist/tests/integration/CustomFieldApiTest.spec.d.ts +1 -0
  92. package/dist/tests/integration/CustomFieldApiTest.spec.js +289 -0
  93. package/dist/tests/integration/CustomFieldApiTest.spec.js.map +1 -0
  94. package/dist/tests/integration/DocumentApiTest.spec.d.ts +1 -0
  95. package/dist/tests/integration/DocumentApiTest.spec.js +1710 -0
  96. package/dist/tests/integration/DocumentApiTest.spec.js.map +1 -0
  97. package/dist/tests/integration/IdentityVerificationApiTest.spec.d.ts +1 -0
  98. package/dist/tests/integration/IdentityVerificationApiTest.spec.js +160 -0
  99. package/dist/tests/integration/IdentityVerificationApiTest.spec.js.map +1 -0
  100. package/dist/tests/integration/TemplateApiTest.spec.d.ts +1 -0
  101. package/dist/tests/integration/TemplateApiTest.spec.js +1518 -0
  102. package/dist/tests/integration/TemplateApiTest.spec.js.map +1 -0
  103. package/dist/tests/integration/planApiTest.spec.d.ts +1 -0
  104. package/dist/tests/integration/planApiTest.spec.js +41 -0
  105. package/dist/tests/integration/planApiTest.spec.js.map +1 -0
  106. package/dist/tests/integration/senderIdentity.spec.d.ts +1 -0
  107. package/dist/tests/integration/senderIdentity.spec.js +481 -0
  108. package/dist/tests/integration/senderIdentity.spec.js.map +1 -0
  109. package/dist/tests/integration/teamsApiTest.spec.d.ts +1 -0
  110. package/dist/tests/integration/teamsApiTest.spec.js +230 -0
  111. package/dist/tests/integration/teamsApiTest.spec.js.map +1 -0
  112. package/dist/tests/integration/usersApiTest.spec.d.ts +1 -0
  113. package/dist/tests/integration/usersApiTest.spec.js +290 -0
  114. package/dist/tests/integration/usersApiTest.spec.js.map +1 -0
  115. package/dist/tests/performance/performanceApiTest.spec.d.ts +1 -0
  116. package/dist/tests/performance/performanceApiTest.spec.js +368 -0
  117. package/dist/tests/performance/performanceApiTest.spec.js.map +1 -0
  118. package/dist/tests/unit/brandingApi.spec.d.ts +1 -0
  119. package/dist/tests/unit/brandingApi.spec.js +174 -0
  120. package/dist/tests/unit/brandingApi.spec.js.map +1 -0
  121. package/dist/tests/unit/contactsApi.spec.d.ts +1 -0
  122. package/dist/tests/unit/contactsApi.spec.js +154 -0
  123. package/dist/tests/unit/contactsApi.spec.js.map +1 -0
  124. package/dist/tests/unit/customFieldApi.spec.d.ts +1 -0
  125. package/dist/tests/unit/customFieldApi.spec.js +140 -0
  126. package/dist/tests/unit/customFieldApi.spec.js.map +1 -0
  127. package/dist/tests/unit/documentApi.spec.d.ts +1 -0
  128. package/dist/tests/unit/documentApi.spec.js +476 -0
  129. package/dist/tests/unit/documentApi.spec.js.map +1 -0
  130. package/dist/tests/unit/planApi.spec.d.ts +1 -0
  131. package/dist/tests/unit/planApi.spec.js +69 -0
  132. package/dist/tests/unit/planApi.spec.js.map +1 -0
  133. package/dist/tests/unit/senderIdentitiesApi.spec.d.ts +1 -0
  134. package/dist/tests/unit/senderIdentitiesApi.spec.js +148 -0
  135. package/dist/tests/unit/senderIdentitiesApi.spec.js.map +1 -0
  136. package/dist/tests/unit/teamApi.spec.d.ts +1 -0
  137. package/dist/tests/unit/teamApi.spec.js +116 -0
  138. package/dist/tests/unit/teamApi.spec.js.map +1 -0
  139. package/dist/tests/unit/templateApi.spec.d.ts +1 -0
  140. package/dist/tests/unit/templateApi.spec.js +285 -0
  141. package/dist/tests/unit/templateApi.spec.js.map +1 -0
  142. package/dist/tests/unit/userApi.spec.d.ts +1 -0
  143. package/dist/tests/unit/userApi.spec.js +163 -0
  144. package/dist/tests/unit/userApi.spec.js.map +1 -0
  145. package/docs/AccessCodeDetail.md +19 -19
  146. package/docs/AccessCodeDetails.md +13 -13
  147. package/docs/Added.md +13 -13
  148. package/docs/Address.md +16 -16
  149. package/docs/AttachmentInfo.md +14 -14
  150. package/docs/AuditTrail.md +21 -21
  151. package/docs/AuthenticationSettings.md +11 -11
  152. package/docs/Base64File.md +12 -12
  153. package/docs/BehalfDocument.md +27 -27
  154. package/docs/BehalfDocumentRecords.md +12 -12
  155. package/docs/BehalfOf.md +12 -12
  156. package/docs/BillingViewModel.md +11 -11
  157. package/docs/BrandCreated.md +11 -11
  158. package/docs/BrandCustomFieldDetails.md +16 -16
  159. package/docs/BrandingApi.md +260 -258
  160. package/docs/BrandingMessage.md +11 -11
  161. package/docs/BrandingRecords.md +11 -11
  162. package/docs/ChangeRecipient.md +18 -18
  163. package/docs/CollaborationSettings.md +14 -0
  164. package/docs/ConditionalRule.md +13 -13
  165. package/docs/ContactCreated.md +12 -12
  166. package/docs/ContactDetails.md +15 -15
  167. package/docs/ContactPageDetails.md +13 -13
  168. package/docs/ContactsApi.md +176 -176
  169. package/docs/ContactsDetails.md +16 -16
  170. package/docs/ContactsList.md +12 -12
  171. package/docs/CreateContactResponse.md +11 -11
  172. package/docs/CreateSenderIdentityRequest.md +16 -16
  173. package/docs/CreateTeamRequest.md +11 -11
  174. package/docs/CreateTemplateRequest.md +35 -35
  175. package/docs/CreateUser.md +14 -14
  176. package/docs/CustomDomainSettings.md +12 -12
  177. package/docs/CustomFieldApi.md +174 -174
  178. package/docs/CustomFieldCollection.md +11 -11
  179. package/docs/CustomFieldMessage.md +12 -12
  180. package/docs/CustomFormField.md +43 -43
  181. package/docs/Date.md +13 -13
  182. package/docs/DeleteCustomFieldReply.md +11 -11
  183. package/docs/Document.md +26 -26
  184. package/docs/DocumentApi.md +756 -756
  185. package/docs/DocumentCC.md +11 -11
  186. package/docs/DocumentCcDetails.md +12 -12
  187. package/docs/DocumentCreated.md +11 -11
  188. package/docs/DocumentExpirySettings.md +16 -16
  189. package/docs/DocumentFiles.md +14 -13
  190. package/docs/DocumentFormFields.md +52 -49
  191. package/docs/DocumentInfo.md +14 -14
  192. package/docs/DocumentProperties.md +50 -50
  193. package/docs/DocumentReassign.md +13 -13
  194. package/docs/DocumentRecords.md +12 -12
  195. package/docs/DocumentSenderDetail.md +14 -14
  196. package/docs/DocumentSigner.md +32 -31
  197. package/docs/DocumentSignerDetails.md +38 -37
  198. package/docs/DocumentTags.md +12 -12
  199. package/docs/DownloadImageRequest.md +16 -16
  200. package/docs/EditSenderIdentityRequest.md +14 -14
  201. package/docs/EditTemplateRequest.md +29 -29
  202. package/docs/EditableDateFieldSettings.md +13 -13
  203. package/docs/EmbeddedCreateTemplateRequest.md +46 -46
  204. package/docs/EmbeddedCustomFieldCreated.md +11 -11
  205. package/docs/EmbeddedDocumentRequest.md +55 -55
  206. package/docs/EmbeddedFileDetails.md +16 -16
  207. package/docs/EmbeddedFileLink.md +11 -11
  208. package/docs/EmbeddedMergeTemplateFormRequest.md +56 -56
  209. package/docs/EmbeddedSendCreated.md +12 -12
  210. package/docs/EmbeddedSendTemplateFormRequest.md +53 -53
  211. package/docs/EmbeddedSigningLink.md +11 -11
  212. package/docs/EmbeddedTemplateCreated.md +12 -12
  213. package/docs/EmbeddedTemplateEditRequest.md +21 -21
  214. package/docs/EmbeddedTemplateEdited.md +11 -11
  215. package/docs/Error.md +12 -12
  216. package/docs/ErrorResult.md +11 -11
  217. package/docs/ExistingFormField.md +15 -15
  218. package/docs/ExtendExpiry.md +14 -14
  219. package/docs/FileInfo.md +14 -14
  220. package/docs/Font.md +18 -18
  221. package/docs/FormField.md +51 -50
  222. package/docs/FormGroup.md +15 -15
  223. package/docs/FormulaFieldSettings.md +12 -12
  224. package/docs/IdDocument.md +21 -21
  225. package/docs/IdReport.md +14 -14
  226. package/docs/IdVerification.md +18 -18
  227. package/docs/IdentityVerificationApi.md +109 -109
  228. package/docs/IdentityVerificationSettings.md +16 -16
  229. package/docs/ImageInfo.md +13 -13
  230. package/docs/MergeAndSendForSignForm.md +46 -46
  231. package/docs/ModificationDetails.md +12 -12
  232. package/docs/NotificationSettings.md +22 -22
  233. package/docs/PageDetails.md +16 -16
  234. package/docs/PhoneNumber.md +12 -12
  235. package/docs/PlanApi.md +38 -38
  236. package/docs/PrefillField.md +12 -12
  237. package/docs/PrefillFieldRequest.md +12 -12
  238. package/docs/ProblemDetails.md +15 -15
  239. package/docs/RecipientChangeLog.md +12 -12
  240. package/docs/RecipientNotificationSettings.md +22 -22
  241. package/docs/Rectangle.md +14 -14
  242. package/docs/ReminderMessage.md +13 -13
  243. package/docs/ReminderSettings.md +13 -13
  244. package/docs/RemoveAuthentication.md +14 -14
  245. package/docs/Removed.md +13 -13
  246. package/docs/RevokeDocument.md +12 -12
  247. package/docs/Role.md +33 -33
  248. package/docs/Roles.md +33 -33
  249. package/docs/SendForSign.md +45 -45
  250. package/docs/SendForSignFromTemplateForm.md +43 -43
  251. package/docs/SenderIdentitiesApi.md +209 -209
  252. package/docs/SenderIdentityCreated.md +11 -11
  253. package/docs/SenderIdentityList.md +12 -12
  254. package/docs/SenderIdentityViewModel.md +19 -19
  255. package/docs/SignerAuthenticationSettings.md +12 -12
  256. package/docs/Size.md +12 -12
  257. package/docs/TeamCreated.md +11 -11
  258. package/docs/TeamDocumentRecords.md +12 -12
  259. package/docs/TeamListResponse.md +12 -12
  260. package/docs/TeamPageDetails.md +12 -12
  261. package/docs/TeamResponse.md +15 -15
  262. package/docs/TeamUpdateRequest.md +12 -12
  263. package/docs/TeamUsers.md +16 -16
  264. package/docs/Teams.md +14 -14
  265. package/docs/TeamsApi.md +141 -141
  266. package/docs/Template.md +29 -29
  267. package/docs/TemplateApi.md +484 -484
  268. package/docs/TemplateCC.md +12 -12
  269. package/docs/TemplateCreated.md +11 -11
  270. package/docs/TemplateFormFields.md +51 -50
  271. package/docs/TemplateProperties.md +37 -37
  272. package/docs/TemplateRecords.md +12 -12
  273. package/docs/TemplateRole.md +28 -28
  274. package/docs/TemplateSenderDetail.md +12 -12
  275. package/docs/TemplateSenderDetails.md +13 -13
  276. package/docs/TemplateSharedTemplateDetail.md +12 -12
  277. package/docs/TemplateSignerDetails.md +27 -27
  278. package/docs/TemplateTag.md +14 -14
  279. package/docs/TextTagDefinition.md +41 -40
  280. package/docs/TextTagOffset.md +12 -12
  281. package/docs/UpdateUser.md +14 -14
  282. package/docs/UpdateUserMetaData.md +12 -12
  283. package/docs/UserApi.md +240 -240
  284. package/docs/UserPageDetails.md +12 -12
  285. package/docs/UserProperties.md +21 -21
  286. package/docs/UserRecords.md +12 -12
  287. package/docs/UsersDetails.md +21 -21
  288. package/docs/Validation.md +13 -13
  289. package/docs/VerificationDataRequest.md +15 -15
  290. package/docs/ViewBrandDetails.md +35 -34
  291. package/docs/ViewCustomFieldDetails.md +17 -17
  292. package/examples/DocumentProperties.ts +14 -14
  293. package/examples/brandCreate.ts +28 -28
  294. package/examples/brandDelete.ts +14 -14
  295. package/examples/brandGet.ts +14 -14
  296. package/examples/brandList.ts +13 -13
  297. package/examples/brandResetDefault.ts +14 -14
  298. package/examples/brandUpdate.ts +20 -20
  299. package/examples/contactCreate.ts +25 -25
  300. package/examples/contactDelete.ts +14 -14
  301. package/examples/contactGet.ts +14 -14
  302. package/examples/contactList.ts +15 -15
  303. package/examples/contactUpdate.ts +25 -25
  304. package/examples/customFieldCreate.ts +27 -27
  305. package/examples/customFieldDelete.ts +14 -14
  306. package/examples/customFieldEdit.ts +29 -29
  307. package/examples/customFieldEmbeddedCreateUrl.ts +18 -18
  308. package/examples/customFieldList.ts +14 -14
  309. package/examples/documentAddAuthentication.ts +19 -19
  310. package/examples/documentAddTags.ts +18 -18
  311. package/examples/documentChangeAccessCode.ts +19 -19
  312. package/examples/documentChangeRecipients.ts +21 -21
  313. package/examples/documentDelete.ts +15 -15
  314. package/examples/documentDeleteTags.ts +18 -18
  315. package/examples/documentDownload.ts +15 -15
  316. package/examples/documentDownloadAttachment.ts +16 -16
  317. package/examples/documentDownloadAuditTrial.ts +15 -15
  318. package/examples/documentEmbeddedRequestLink.ts +48 -48
  319. package/examples/documentEmbeddedSignLink.ts +22 -22
  320. package/examples/documentExtendExpiry.ts +19 -19
  321. package/examples/documentList.ts +18 -18
  322. package/examples/documentListBehalf.ts +14 -14
  323. package/examples/documentListTeam.ts +14 -14
  324. package/examples/documentPrefillFieldCheckBox.ts +22 -22
  325. package/examples/documentPrefillFieldDropDown.ts +22 -22
  326. package/examples/documentPrefillFieldEditableDate.ts +22 -22
  327. package/examples/documentPrefillFieldImage.ts +22 -22
  328. package/examples/documentPrefillFieldRadioButton.ts +22 -22
  329. package/examples/documentPrefillFieldTextBox.ts +22 -22
  330. package/examples/documentRemoveAuthentication.ts +18 -18
  331. package/examples/documentRevoke.ts +18 -18
  332. package/examples/documentSend.ts +46 -46
  333. package/examples/documentSendOnBehalf.ts +52 -52
  334. package/examples/documentSendReminder.ts +19 -19
  335. package/examples/embeddedManualVerification.ts +22 -22
  336. package/examples/identityVerificationImage.ts +23 -23
  337. package/examples/identityVerificationReport.ts +21 -21
  338. package/examples/listTemplate.ts +15 -15
  339. package/examples/plan.ts +13 -13
  340. package/examples/senderIdentityCreate.ts +20 -20
  341. package/examples/senderIdentityDelete.ts +14 -14
  342. package/examples/senderIdentityList.ts +15 -15
  343. package/examples/senderIdentityRerequest.ts +14 -14
  344. package/examples/senderIdentityResendInvitation.ts +14 -14
  345. package/examples/senderIdentityUpdate.ts +19 -19
  346. package/examples/teamCreate.ts +17 -17
  347. package/examples/teamGet.ts +14 -14
  348. package/examples/teamList.ts +15 -15
  349. package/examples/teamUpdate.ts +18 -18
  350. package/examples/templateAddTag.ts +19 -19
  351. package/examples/templateCreate.ts +28 -28
  352. package/examples/templateDelete.ts +14 -14
  353. package/examples/templateDeleteTag.ts +19 -19
  354. package/examples/templateDetails.ts +14 -14
  355. package/examples/templateDownload.ts +14 -14
  356. package/examples/templateEdit.ts +21 -21
  357. package/examples/templateEmbeddedCreate.ts +28 -28
  358. package/examples/templateEmbeddedEdit.ts +23 -23
  359. package/examples/templateEmbeddedRequestLink.ts +33 -33
  360. package/examples/templateMergerEmbeddedRequestUrl.ts +36 -36
  361. package/examples/templateSendDocument.ts +59 -59
  362. package/examples/templateSendDocumentUsingMultipleTemplate.ts +39 -39
  363. package/examples/userCreate.ts +19 -19
  364. package/examples/userGet.ts +14 -14
  365. package/examples/userInvitationCancel.ts +14 -14
  366. package/examples/userList.ts +15 -15
  367. package/examples/userResendInvitation.ts +14 -14
  368. package/examples/userUpdateRole.ts +18 -18
  369. package/git_push.sh +57 -57
  370. package/model/accessCodeDetail.ts +91 -91
  371. package/model/accessCodeDetails.ts +44 -44
  372. package/model/added.ts +43 -43
  373. package/model/address.ts +61 -61
  374. package/model/attachmentInfo.ts +49 -49
  375. package/model/auditTrail.ts +177 -175
  376. package/model/authenticationSettings.ts +40 -40
  377. package/model/base64File.ts +37 -37
  378. package/model/behalfDocument.ts +142 -142
  379. package/model/behalfDocumentRecords.ts +39 -39
  380. package/model/behalfOf.ts +37 -37
  381. package/model/billingViewModel.ts +31 -31
  382. package/model/brandCreated.ts +31 -31
  383. package/model/brandCustomFieldDetails.ts +62 -62
  384. package/model/brandingMessage.ts +31 -31
  385. package/model/brandingRecords.ts +32 -32
  386. package/model/changeRecipient.ts +74 -74
  387. package/model/collaborationSettings.ts +49 -0
  388. package/model/conditionalRule.ts +43 -43
  389. package/model/contactCreated.ts +37 -37
  390. package/model/contactDetails.ts +56 -56
  391. package/model/contactPageDetails.ts +43 -43
  392. package/model/contactsDetails.ts +62 -62
  393. package/model/contactsList.ts +39 -39
  394. package/model/createContactResponse.ts +32 -32
  395. package/model/createSenderIdentityRequest.ts +62 -62
  396. package/model/createTeamRequest.ts +31 -31
  397. package/model/createTemplateRequest.ts +181 -181
  398. package/model/createUser.ts +56 -56
  399. package/model/customDomainSettings.ts +37 -37
  400. package/model/customFieldCollection.ts +32 -32
  401. package/model/customFieldMessage.ts +37 -37
  402. package/model/customFormField.ts +275 -275
  403. package/model/deleteCustomFieldReply.ts +31 -31
  404. package/model/document.ts +135 -135
  405. package/model/documentCC.ts +31 -31
  406. package/model/documentCcDetails.ts +37 -37
  407. package/model/documentCreated.ts +31 -31
  408. package/model/documentExpirySettings.ts +69 -69
  409. package/model/documentFiles.ts +49 -43
  410. package/model/documentFormFields.ts +311 -292
  411. package/model/documentInfo.ts +90 -90
  412. package/model/documentProperties.ts +316 -316
  413. package/model/documentReassign.ts +43 -43
  414. package/model/documentRecords.ts +39 -39
  415. package/model/documentSenderDetail.ts +49 -49
  416. package/model/documentSigner.ts +221 -215
  417. package/model/documentSignerDetails.ts +265 -259
  418. package/model/documentTags.ts +37 -37
  419. package/model/downloadImageRequest.ts +61 -61
  420. package/model/editSenderIdentityRequest.ts +50 -50
  421. package/model/editTemplateRequest.ts +144 -144
  422. package/model/editableDateFieldSettings.ts +43 -43
  423. package/model/embeddedCreateTemplateRequest.ts +271 -271
  424. package/model/embeddedCustomFieldCreated.ts +31 -31
  425. package/model/embeddedDocumentRequest.ts +337 -337
  426. package/model/embeddedFileDetails.ts +61 -61
  427. package/model/embeddedFileLink.ts +31 -31
  428. package/model/embeddedMergeTemplateFormRequest.ts +343 -343
  429. package/model/embeddedSendCreated.ts +37 -37
  430. package/model/embeddedSendTemplateFormRequest.ts +324 -324
  431. package/model/embeddedSigningLink.ts +31 -31
  432. package/model/embeddedTemplateCreated.ts +37 -37
  433. package/model/embeddedTemplateEditRequest.ts +115 -115
  434. package/model/embeddedTemplateEdited.ts +31 -31
  435. package/model/errorResult.ts +31 -31
  436. package/model/existingFormField.ts +55 -55
  437. package/model/extendExpiry.ts +49 -49
  438. package/model/fileInfo.ts +49 -49
  439. package/model/font.ts +89 -89
  440. package/model/formField.ts +327 -320
  441. package/model/formGroup.ts +63 -63
  442. package/model/formulaFieldSettings.ts +37 -37
  443. package/model/idDocument.ts +93 -93
  444. package/model/idReport.ts +50 -50
  445. package/model/idVerification.ts +73 -73
  446. package/model/identityVerificationSettings.ts +75 -75
  447. package/model/imageInfo.ts +43 -43
  448. package/model/index.ts +546 -543
  449. package/model/mergeAndSendForSignForm.ts +261 -261
  450. package/model/modelDate.ts +43 -43
  451. package/model/modelError.ts +37 -37
  452. package/model/models.ts +244 -244
  453. package/model/modificationDetails.ts +37 -37
  454. package/model/notificationSettings.ts +97 -97
  455. package/model/pageDetails.ts +61 -61
  456. package/model/phoneNumber.ts +37 -37
  457. package/model/prefillField.ts +37 -37
  458. package/model/prefillFieldRequest.ts +38 -38
  459. package/model/problemDetails.ts +55 -55
  460. package/model/recipientChangeLog.ts +39 -39
  461. package/model/recipientNotificationSettings.ts +97 -97
  462. package/model/rectangle.ts +49 -49
  463. package/model/reminderMessage.ts +44 -44
  464. package/model/reminderSettings.ts +43 -43
  465. package/model/removeAuthentication.ts +50 -50
  466. package/model/removed.ts +43 -43
  467. package/model/revokeDocument.ts +37 -37
  468. package/model/role.ts +229 -229
  469. package/model/roles.ts +225 -225
  470. package/model/sendForSign.ts +255 -255
  471. package/model/sendForSignFromTemplateForm.ts +242 -242
  472. package/model/senderIdentityCreated.ts +31 -31
  473. package/model/senderIdentityList.ts +39 -39
  474. package/model/senderIdentityViewModel.ts +80 -80
  475. package/model/signerAuthenticationSettings.ts +37 -37
  476. package/model/size.ts +37 -37
  477. package/model/teamCreated.ts +31 -31
  478. package/model/teamDocumentRecords.ts +39 -39
  479. package/model/teamListResponse.ts +39 -39
  480. package/model/teamPageDetails.ts +37 -37
  481. package/model/teamResponse.ts +56 -56
  482. package/model/teamUpdateRequest.ts +37 -37
  483. package/model/teamUsers.ts +73 -73
  484. package/model/teams.ts +49 -49
  485. package/model/template.ts +159 -159
  486. package/model/templateCC.ts +37 -37
  487. package/model/templateCreated.ts +31 -31
  488. package/model/templateFormFields.ts +304 -297
  489. package/model/templateProperties.ts +202 -202
  490. package/model/templateRecords.ts +39 -39
  491. package/model/templateRole.ts +195 -195
  492. package/model/templateSenderDetail.ts +37 -37
  493. package/model/templateSenderDetails.ts +43 -43
  494. package/model/templateSharedTemplateDetail.ts +43 -43
  495. package/model/templateSignerDetails.ts +160 -160
  496. package/model/templateTag.ts +49 -49
  497. package/model/textTagDefinition.ts +255 -248
  498. package/model/textTagOffset.ts +37 -37
  499. package/model/updateUser.ts +60 -60
  500. package/model/updateUserMetaData.ts +37 -37
  501. package/model/userPageDetails.ts +37 -37
  502. package/model/userProperties.ts +91 -91
  503. package/model/userRecords.ts +39 -39
  504. package/model/usersDetails.ts +91 -91
  505. package/model/validation.ts +52 -52
  506. package/model/verificationDataRequest.ts +55 -55
  507. package/model/viewBrandDetails.ts +183 -177
  508. package/model/viewCustomFieldDetails.ts +68 -68
  509. package/package.json +52 -52
  510. package/tests/config.ts +20 -0
  511. package/tests/documents/agreement.pdf +0 -0
  512. package/tests/documents/logo.jpg +0 -0
  513. package/tests/integration/BrandingApiTest.spec.ts +254 -0
  514. package/tests/integration/ContactsApiTest.spec.ts +222 -0
  515. package/tests/integration/CustomFieldApiTest.spec.ts +231 -0
  516. package/tests/integration/DocumentApiTest.spec.ts +1624 -0
  517. package/tests/integration/IdentityVerificationApiTest.spec.ts +114 -0
  518. package/tests/integration/TemplateApiTest.spec.ts +1420 -0
  519. package/tests/integration/planApiTest.spec.ts +26 -0
  520. package/tests/integration/senderIdentity.spec.ts +397 -0
  521. package/tests/integration/teamsApiTest.spec.ts +226 -0
  522. package/tests/integration/usersApiTest.spec.ts +251 -0
  523. package/tests/performance/performanceApiTest.spec.ts +362 -0
  524. package/tests/unit/brandingApi.spec.ts +163 -0
  525. package/tests/unit/contactsApi.spec.ts +143 -0
  526. package/tests/unit/customFieldApi.spec.ts +123 -0
  527. package/tests/unit/documentApi.spec.ts +545 -0
  528. package/tests/unit/planApi.spec.ts +34 -0
  529. package/tests/unit/senderIdentitiesApi.spec.ts +148 -0
  530. package/tests/unit/teamApi.spec.ts +94 -0
  531. package/tests/unit/templateApi.spec.ts +307 -0
  532. package/tests/unit/userApi.spec.ts +162 -0
  533. package/tsconfig.json +24 -24
@@ -0,0 +1,1420 @@
1
+ import { TemplateApi } from '../../api/templateApi';
2
+ import { BrandingApi } from '../../api/brandingApi';
3
+ import { CreateTemplateRequest, DocumentCC, EditTemplateRequest, EmbeddedCreateTemplateRequest, EmbeddedSendTemplateFormRequest, EmbeddedTemplateEditRequest, FormField, ImageInfo, MergeAndSendForSignForm, PhoneNumber, Rectangle, ReminderSettings, Role, SendForSignFromTemplateForm, TemplateRole, TemplateTag, EmbeddedMergeTemplateFormRequest, AuthenticationSettings } from '../../model';
4
+ import * as fs from 'fs';
5
+ import config from '../config';
6
+
7
+ describe('Template API Test suite', () => {
8
+ let brandingApi;
9
+ let templateApi;
10
+ let brandId;
11
+ let createdTemplateId;
12
+ let createdTemplateId1;
13
+ let createdTemplateId2;
14
+ let createdTemplateId3;
15
+ let createdTemplateId4;
16
+
17
+ beforeAll(() => {
18
+ brandId = null;
19
+ createdTemplateId = null;
20
+ createdTemplateId1 = null;
21
+ createdTemplateId2 = null;
22
+ createdTemplateId3 = null;
23
+ createdTemplateId4 =null;
24
+ const apiKey = config.apiKey;
25
+ const baseUrl = config.baseUrl;
26
+ if (!baseUrl || !apiKey) {
27
+ throw new Error("Environment variables 'HOST_URL' or 'API_KEY' are not set.");
28
+ }
29
+ templateApi = new TemplateApi(baseUrl);
30
+ templateApi.setApiKey(apiKey);
31
+ brandingApi = new BrandingApi(baseUrl);
32
+ brandingApi.setApiKey(apiKey);
33
+ });
34
+ test('Test1:should create a brand successfully', async () => {
35
+ const brandName = "NodeSDK";
36
+ const brandLogo = fs.createReadStream("tests/documents/logo.jpg");
37
+ try {
38
+ const createBrandApiResponse = await brandingApi.createBrand(brandName, brandLogo);
39
+ console.log("Brand created successfully:", createBrandApiResponse.brandId);
40
+ brandId = createBrandApiResponse.brandId;
41
+ expect(createBrandApiResponse).toBeDefined();
42
+ } catch (error) {
43
+ console.log("Error occurred while creating the brand:", error);
44
+ expect(error).toBeUndefined();
45
+ }
46
+ }, 20000);
47
+ test('Test2: should create a template successfully with signer and signer email', async () => {
48
+ const signatureField = new FormField();
49
+ signatureField.fieldType = FormField.FieldTypeEnum.Signature;
50
+ signatureField.pageNumber = 1;
51
+ const bounds = new Rectangle();
52
+ bounds.x = 50;
53
+ bounds.y = 100;
54
+ bounds.width = 150;
55
+ bounds.height = 50;
56
+ signatureField.bounds = bounds;
57
+ const role = new TemplateRole();
58
+ role.index = 1;
59
+ role.name = "Signer";
60
+ role.defaultSignerName = "John Doe";
61
+ role.defaultSignerEmail = "johndoe@example.com";
62
+ role.signerOrder = 1;
63
+ role.signerType = TemplateRole.SignerTypeEnum.Signer;
64
+ role.formFields = [signatureField];
65
+ const createTemplateRequest = new CreateTemplateRequest();
66
+ createTemplateRequest.title = "Testing node sdk";
67
+ createTemplateRequest.description = "Testing integration test case";
68
+ createTemplateRequest.documentTitle = "Node sdk test case";
69
+ createTemplateRequest.documentMessage = "Please check and sign";
70
+ createTemplateRequest.roles = [role];
71
+ createTemplateRequest.enableReassign = true;
72
+ createTemplateRequest.enableSigningOrder = true;
73
+ createTemplateRequest.allowNewRoles = true;
74
+ createTemplateRequest.allowMessageEditing = true;
75
+ createTemplateRequest.allowNewFiles = true;
76
+ const documentFile = fs.createReadStream("tests/documents/agreement.pdf");
77
+ createTemplateRequest.files = [documentFile];
78
+ try {
79
+ const response = await templateApi.createTemplate(createTemplateRequest);
80
+ console.log("Template created successfully:", response);
81
+ createdTemplateId = response.templateId;
82
+ console.log("Created Template ID: ", createdTemplateId);
83
+ } catch (error:any) {
84
+ console.log("Error occurred while calling the API:", error.message);
85
+ expect(error.message).toBeUndefined();
86
+ }
87
+ }, 20000);
88
+ test('Test3:Create template with existing brand ID', async () => {
89
+ const signatureField = new FormField();
90
+ signatureField.fieldType = FormField.FieldTypeEnum.Signature;
91
+ signatureField.pageNumber = 1;
92
+ signatureField.bounds = { x: 50, y: 100, width: 150, height: 50 };
93
+ const role = new TemplateRole();
94
+ role.index = 1;
95
+ role.name = "Signer";
96
+ role.defaultSignerName = "John Doe";
97
+ role.defaultSignerEmail = "johndoe@example.com";
98
+ role.signerOrder = 1;
99
+ role.signerType = TemplateRole.SignerTypeEnum.Signer;
100
+ role.formFields = [signatureField];
101
+ const createTemplateRequest = new CreateTemplateRequest();
102
+ createTemplateRequest.title = "Template with Brand";
103
+ createTemplateRequest.description = "Created with brand ID";
104
+ createTemplateRequest.documentTitle = "Brand Template";
105
+ createTemplateRequest.documentMessage = "Please sign this";
106
+ createTemplateRequest.roles = [role];
107
+ createTemplateRequest.enableReassign = true;
108
+ createTemplateRequest.enableSigningOrder = true;
109
+ createTemplateRequest.allowNewRoles = true;
110
+ createTemplateRequest.allowMessageEditing = true;
111
+ createTemplateRequest.allowNewFiles = true;
112
+ createTemplateRequest.brandId = brandId;
113
+ createTemplateRequest.files = [fs.createReadStream("tests/documents/agreement.pdf")];
114
+ try {
115
+ const response = await templateApi.createTemplate(createTemplateRequest);
116
+ console.log("Template created:", response.templateId);
117
+ } catch (error: any) {
118
+ console.error("Error creating template:", error);
119
+ expect(error).toBeUndefined();
120
+ }
121
+ }, 20000);
122
+ test('Test4: should create a template with form field', async () => {
123
+ const signatureField = new FormField();
124
+ signatureField.fieldType = FormField.FieldTypeEnum.Signature;
125
+ signatureField.pageNumber = 1;
126
+ const bounds = new Rectangle();
127
+ bounds.x = 50;
128
+ bounds.y = 100;
129
+ bounds.width = 100;
130
+ bounds.height = 60;
131
+ signatureField.bounds = bounds;
132
+ const formFields = [signatureField];
133
+ const templateRole = new TemplateRole();
134
+ templateRole.index = 1;
135
+ templateRole.name = "Hr";
136
+ templateRole.defaultSignerName = "Divya";
137
+ templateRole.defaultSignerEmail = "divya.boopathy+8@syncfusion.com";
138
+ templateRole.signerOrder = 1;
139
+ templateRole.signerType = TemplateRole.SignerTypeEnum.Signer;
140
+ templateRole.locale = TemplateRole.LocaleEnum.En;
141
+ templateRole.formFields = formFields;
142
+ templateRole.allowRoleEdit = true;
143
+ templateRole.allowRoleDelete = true;
144
+ const roles = [templateRole];
145
+ const createTemplateRequest = new CreateTemplateRequest();
146
+ createTemplateRequest.enableReassign = true;
147
+ createTemplateRequest.allowNewRoles = true;
148
+ createTemplateRequest.enablePrintAndSign = false;
149
+ createTemplateRequest.documentMessage = "document message for signers";
150
+ createTemplateRequest.enableSigningOrder = false;
151
+ createTemplateRequest.useTextTags = false;
152
+ createTemplateRequest.title = "title of the template";
153
+ createTemplateRequest.allowMessageEditing = true;
154
+ createTemplateRequest.description = "testingDescription";
155
+ createTemplateRequest.documentTitle = "title of the document";
156
+ createTemplateRequest.allowNewFiles = true;
157
+ createTemplateRequest.roles = roles;
158
+ const documentFile = fs.createReadStream("tests/documents/agreement.pdf");
159
+ createTemplateRequest.files = [documentFile];
160
+ try {
161
+ const response = await templateApi.createTemplate(createTemplateRequest);
162
+ console.log("Template created successfully:", response);
163
+ createdTemplateId1 = response.templateId;
164
+ console.log("Created Template ID:", createdTemplateId1);
165
+ expect(response).toBeDefined();
166
+ } catch (error:any) {
167
+ console.error("Error occurred while calling the API:", error.message);
168
+ expect(error.message).toBeUndefined();
169
+ }
170
+ }, 20000);
171
+ test('Test5: should create a template with multiple roles successfully', async () => {
172
+ const signatureField = new FormField();
173
+ signatureField.fieldType = FormField.FieldTypeEnum.Signature;
174
+ signatureField.pageNumber = 1;
175
+ const bounds = new Rectangle();
176
+ bounds.x = 50;
177
+ bounds.y = 100;
178
+ bounds.width = 100;
179
+ bounds.height = 60;
180
+ signatureField.bounds = bounds;
181
+ const formFields = [signatureField];
182
+ const roles: TemplateRole[] = [];
183
+ for (let i = 1; i <= 15; i++) {
184
+ const templateRole = new TemplateRole();
185
+ templateRole.index = i;
186
+ templateRole.name = `Role ${i}`;
187
+ templateRole.signerOrder = i;
188
+ templateRole.signerType = TemplateRole.SignerTypeEnum.Signer;
189
+ templateRole.locale = TemplateRole.LocaleEnum.En;
190
+ templateRole.formFields = formFields;
191
+ templateRole.allowRoleEdit = true;
192
+ templateRole.allowRoleDelete = true;
193
+ roles.push(templateRole);
194
+ }
195
+ const createTemplateRequest = new CreateTemplateRequest();
196
+ createTemplateRequest.enableReassign = true;
197
+ createTemplateRequest.allowNewRoles = true;
198
+ createTemplateRequest.enablePrintAndSign = false;
199
+ createTemplateRequest.documentMessage = "document message for signers";
200
+ createTemplateRequest.enableSigningOrder = true;
201
+ createTemplateRequest.useTextTags = false;
202
+ createTemplateRequest.title = "Template with 15 Roles";
203
+ createTemplateRequest.allowMessageEditing = true;
204
+ createTemplateRequest.description = "This is a template with 15 roles.";
205
+ createTemplateRequest.documentTitle = "Multi-role template";
206
+ createTemplateRequest.allowNewFiles = true;
207
+ createTemplateRequest.roles = roles;
208
+ const documentFile = fs.createReadStream("tests/documents/agreement.pdf");
209
+ createTemplateRequest.files = [documentFile];
210
+ try {
211
+ const response = await templateApi.createTemplate(createTemplateRequest);
212
+ console.log("Template created successfully:", response);
213
+ createdTemplateId2 = response.templateId;
214
+ console.log("Created Template ID:", createdTemplateId2);
215
+ expect(response).toBeDefined();
216
+ } catch (error:any) {
217
+ console.error("Error occurred while calling the API:", error.message);
218
+ expect(error.message).toBeUndefined();
219
+ }
220
+ }, 20000);
221
+ test('Test6: should create a template with multiple files successfully', async () => {
222
+ const signatureField = new FormField();
223
+ signatureField.fieldType = FormField.FieldTypeEnum.Signature;
224
+ signatureField.pageNumber = 1;
225
+ const bounds = new Rectangle();
226
+ bounds.x = 50;
227
+ bounds.y = 100;
228
+ bounds.width = 100;
229
+ bounds.height = 60;
230
+ signatureField.bounds = bounds;
231
+ const formFields = [signatureField];
232
+ const templateRole = new TemplateRole();
233
+ templateRole.index = 1;
234
+ templateRole.name = "Hr";
235
+ templateRole.defaultSignerName = "Divya";
236
+ templateRole.defaultSignerEmail = "divya.boopathy+25@syncfusion.com";
237
+ templateRole.signerOrder = 1;
238
+ templateRole.signerType = TemplateRole.SignerTypeEnum.Signer;
239
+ templateRole.locale = TemplateRole.LocaleEnum.En;
240
+ templateRole.formFields = formFields;
241
+ templateRole.allowRoleEdit = true;
242
+ templateRole.allowRoleDelete = true;
243
+ const roles = [templateRole];
244
+ const createTemplateRequest = new CreateTemplateRequest();
245
+ createTemplateRequest.enableReassign = true;
246
+ createTemplateRequest.allowNewRoles = true;
247
+ createTemplateRequest.enablePrintAndSign = false;
248
+ createTemplateRequest.documentMessage = "document message for signers";
249
+ createTemplateRequest.enableSigningOrder = false;
250
+ createTemplateRequest.useTextTags = false;
251
+ createTemplateRequest.title = "title of the template";
252
+ createTemplateRequest.allowMessageEditing = true;
253
+ createTemplateRequest.description = "testingDescription";
254
+ createTemplateRequest.documentTitle = "title of the document";
255
+ createTemplateRequest.allowNewFiles = true;
256
+ createTemplateRequest.roles = roles;
257
+ const files = [
258
+ fs.createReadStream("tests/documents/agreement.pdf"),
259
+ fs.createReadStream("tests/documents/agreement.pdf"),
260
+ fs.createReadStream("tests/documents/agreement.pdf")
261
+ ];
262
+ createTemplateRequest.files = files;
263
+ try {
264
+ const response = await templateApi.createTemplate(createTemplateRequest);
265
+ console.log("Template created successfully:", response);
266
+ createdTemplateId3 = response.templateId;
267
+ console.log("Created Template ID:", createdTemplateId3);
268
+ expect(response).toBeDefined();
269
+ } catch (error:any) {
270
+ console.log("Error occurred while calling the API:", error.message);
271
+ expect(error.message).toBeUndefined();
272
+ }
273
+ }, 20000);
274
+ test('Test7: should create a template with image form field successfully', async () => {
275
+ const imageField = new FormField();
276
+ imageField.name = "image";
277
+ imageField.id = "Image1";
278
+ imageField.fieldType = FormField.FieldTypeEnum.Image;
279
+ imageField.font = FormField.FontEnum.Helvetica;
280
+ imageField.pageNumber = 1;
281
+ imageField.isRequired = true;
282
+ imageField.imageInfo = new ImageInfo();
283
+ imageField.imageInfo.title = "Image Test";
284
+ imageField.imageInfo.allowedFileExtensions = ".png";
285
+ imageField.imageInfo.description = "Image for testing";
286
+ const bounds = new Rectangle();
287
+ bounds.x = 50;
288
+ bounds.y = 50;
289
+ bounds.width = 100;
290
+ bounds.height = 150;
291
+ imageField.bounds = bounds;
292
+ const role = new TemplateRole();
293
+ role.index = 1;
294
+ role.name = "Signer";
295
+ role.signerType = TemplateRole.SignerTypeEnum.Signer;
296
+ role.defaultSignerEmail = "john.doe@example.com";
297
+ role.defaultSignerName = "John Doe";
298
+ role.signerOrder = 1;
299
+ role.formFields = [imageField];
300
+ const createTemplateRequest = new CreateTemplateRequest();
301
+ createTemplateRequest.title = "New Template";
302
+ createTemplateRequest.documentTitle = "node_test_template_with_image_field";
303
+ createTemplateRequest.description = "This is a new template.";
304
+ createTemplateRequest.files = [fs.createReadStream("tests/documents/agreement.pdf")];
305
+ createTemplateRequest.roles = [role];
306
+ createTemplateRequest.allowMessageEditing = true;
307
+ createTemplateRequest.allowNewRoles = true;
308
+ createTemplateRequest.allowNewFiles = true;
309
+ createTemplateRequest.enableReassign = true;
310
+ createTemplateRequest.enablePrintAndSign = false;
311
+ createTemplateRequest.enableSigningOrder = true;
312
+ try {
313
+ const response = await templateApi.createTemplate(createTemplateRequest);
314
+ console.log("Template with image field created successfully:", response);
315
+ createdTemplateId4 = response.templateId;
316
+ console.log("Created Template ID (Image Field):", createdTemplateId4);
317
+ } catch (error: any) {
318
+ console.error("Error occurred while creating template with image field:", error);
319
+ expect(error).toBeUndefined();
320
+ }
321
+ }, 20000);
322
+ test('Test8: should fail to create a template with duplicate role index', async () => {
323
+ const role1 = new TemplateRole();
324
+ role1.index = 1;
325
+ role1.name = "Signer1";
326
+ role1.signerType = TemplateRole.SignerTypeEnum.Signer;
327
+ role1.signerOrder = 1;
328
+ role1.locale = TemplateRole.LocaleEnum.En;
329
+ role1.imposeAuthentication = TemplateRole.ImposeAuthenticationEnum.EmailOtp;
330
+ role1.deliveryMode = TemplateRole.DeliveryModeEnum.Email;
331
+ role1.allowFieldConfiguration = true;
332
+ role1.allowRoleEdit = true;
333
+ role1.allowRoleDelete = true;
334
+ const role2 = new TemplateRole();
335
+ role2.index = 2;
336
+ role2.name = "Reviewer1";
337
+ role2.signerType = TemplateRole.SignerTypeEnum.Reviewer;
338
+ role2.signerOrder = 2;
339
+ role2.locale = TemplateRole.LocaleEnum.En;
340
+ role2.imposeAuthentication = TemplateRole.ImposeAuthenticationEnum.None;
341
+ role2.deliveryMode = TemplateRole.DeliveryModeEnum.Email;
342
+ role2.allowFieldConfiguration = false;
343
+ role2.allowRoleEdit = true;
344
+ role2.allowRoleDelete = true;
345
+ const role3 = new TemplateRole();
346
+ role3.index = 2;
347
+ role3.name = "InPersonSigner1";
348
+ role3.signerType = TemplateRole.SignerTypeEnum.Reviewer;
349
+ role3.signerOrder = 3;
350
+ role3.locale = TemplateRole.LocaleEnum.En;
351
+ role3.imposeAuthentication = TemplateRole.ImposeAuthenticationEnum.AccessCode;
352
+ role3.deliveryMode = TemplateRole.DeliveryModeEnum.Email;
353
+ role3.allowFieldConfiguration = false;
354
+ role3.allowRoleEdit = true;
355
+ role3.allowRoleDelete = true;
356
+ const createTemplateRequest = new CreateTemplateRequest();
357
+ createTemplateRequest.title = "Duplicate Role Index Test";
358
+ createTemplateRequest.documentTitle = "node_test_template_duplicate_index";
359
+ createTemplateRequest.description = "Template with duplicate role index.";
360
+ createTemplateRequest.files = [
361
+ fs.createReadStream("tests/documents/agreement.pdf"),
362
+ fs.createReadStream("tests/documents/agreement.pdf")
363
+ ];
364
+ createTemplateRequest.roles = [role1, role2, role3];
365
+ createTemplateRequest.allowMessageEditing = true;
366
+ createTemplateRequest.allowNewRoles = true;
367
+ createTemplateRequest.allowNewFiles = true;
368
+ createTemplateRequest.enableReassign = true;
369
+ createTemplateRequest.enablePrintAndSign = false;
370
+ createTemplateRequest.enableSigningOrder = true;
371
+ try {
372
+ const response = await templateApi.createTemplate(createTemplateRequest);
373
+ console.error("Unexpected success, test should have failed due to duplicate role index.", response.body);
374
+ throw new Error("Test failed: Expected error due to duplicate role index.");
375
+ } catch (error: any) {
376
+ console.log("Expected error occurred due to duplicate role index:", error.response?.data || error.message);
377
+ expect(error.response?.status).toBe(400);
378
+ expect(error.response?.statusText).toBe("Bad Request");
379
+ }
380
+ }, 20000);
381
+ test('Test9: should fail to create template due to missing document title', async () => {
382
+ const signatureField = new FormField();
383
+ signatureField.fieldType = FormField.FieldTypeEnum.Signature;
384
+ signatureField.pageNumber = 1;
385
+ signatureField.bounds = { x: 50, y: 100, width: 150, height: 50 };
386
+ const role = new TemplateRole();
387
+ role.index = 1;
388
+ role.name = "Signer";
389
+ role.defaultSignerName = "John Doe";
390
+ role.defaultSignerEmail = "johndoe@example.com";
391
+ role.signerOrder = 1;
392
+ role.signerType = TemplateRole.SignerTypeEnum.Signer;
393
+ role.formFields = [signatureField];
394
+ const createTemplateRequest = new CreateTemplateRequest();
395
+ createTemplateRequest.title = "Missing Document Title Test";
396
+ createTemplateRequest.description = "Should fail due to missing document title";
397
+ createTemplateRequest.documentMessage = "Please check and sign";
398
+ createTemplateRequest.roles = [role];
399
+ createTemplateRequest.files = [fs.createReadStream("tests/documents/agreement.pdf")];
400
+ try {
401
+ await templateApi.createTemplate(createTemplateRequest);
402
+ throw new Error("Test failed: API should have thrown an error due to missing document title.");
403
+ } catch (error: any) {
404
+ console.log("Expected error received:", error.response?.data || error.message);
405
+ expect(error.response).toBeDefined();
406
+ expect(error.response?.status).toBe(400);
407
+ expect(error.response.statusText).toBe("Bad Request");
408
+ }
409
+ }, 20000);
410
+ test('Test10: should fail to create template due to empty roles array', async () => {
411
+ const createTemplateRequest = new CreateTemplateRequest();
412
+ createTemplateRequest.title = "Template without roles";
413
+ createTemplateRequest.description = "This template should fail due to no roles";
414
+ createTemplateRequest.documentTitle = "Missing roles test case";
415
+ createTemplateRequest.documentMessage = "Please check and sign";
416
+ createTemplateRequest.roles = [];
417
+ const documentFile = fs.createReadStream("tests/documents/agreement.pdf");
418
+ createTemplateRequest.files = [documentFile];
419
+ try {
420
+ await templateApi.createTemplate(createTemplateRequest);
421
+ throw new Error("Test failed: API should have thrown an error due to empty roles.");
422
+ } catch (error: any) {
423
+ console.log("Expected error for empty roles array:", error.response?.data || error.message);
424
+ expect(error.response).toBeDefined();
425
+ expect(error.response?.status).toBe(400);
426
+ expect(error.response.statusText).toBe("Bad Request");
427
+ }
428
+ }, 20000);
429
+ test('Test11: should fail to create a template with empty title', async () => {
430
+ const signatureField = new FormField();
431
+ signatureField.fieldType = FormField.FieldTypeEnum.Signature;
432
+ signatureField.pageNumber = 1;
433
+ const bounds = new Rectangle();
434
+ bounds.x = 50;
435
+ bounds.y = 100;
436
+ bounds.width = 150;
437
+ bounds.height = 50;
438
+ signatureField.bounds = bounds;
439
+ const role = new TemplateRole();
440
+ role.index = 1;
441
+ role.name = "Signer";
442
+ role.defaultSignerName = "John Doe";
443
+ role.defaultSignerEmail = "johndoe@example.com";
444
+ role.signerOrder = 1;
445
+ role.signerType = TemplateRole.SignerTypeEnum.Signer;
446
+ role.formFields = [signatureField];
447
+ const createTemplateRequest = new CreateTemplateRequest();
448
+ createTemplateRequest.title = "";
449
+ createTemplateRequest.description = "Testing integration test case";
450
+ createTemplateRequest.documentTitle = "Node sdk test case";
451
+ createTemplateRequest.documentMessage = "Please check and sign";
452
+ createTemplateRequest.roles = [role];
453
+ createTemplateRequest.enableReassign = true;
454
+ createTemplateRequest.enableSigningOrder = true;
455
+ createTemplateRequest.allowNewRoles = true;
456
+ createTemplateRequest.allowMessageEditing = true;
457
+ createTemplateRequest.allowNewFiles = true;
458
+ const documentFile = fs.createReadStream("tests/documents/agreement.pdf");
459
+ createTemplateRequest.files = [documentFile];
460
+ try {
461
+ await templateApi.createTemplate(createTemplateRequest);
462
+ throw new Error("Test failed: API should have thrown an error due to empty title.");
463
+ } catch (error: any) {
464
+ console.log("Expected error for empty title:", error.response?.data || error.message);
465
+ expect(error.response).toBeDefined();
466
+ expect(error.response?.status).toBe(400);
467
+ expect(error.response.statusText).toBe("Bad Request");
468
+ }
469
+ }, 20000);
470
+ test('Test12: should fail to create a template with form field invalid signer email', async () => {
471
+ const signatureField = new FormField();
472
+ signatureField.fieldType = FormField.FieldTypeEnum.Signature;
473
+ signatureField.pageNumber = 1;
474
+ const bounds = new Rectangle();
475
+ bounds.x = 50;
476
+ bounds.y = 100;
477
+ bounds.width = 100;
478
+ bounds.height = 60;
479
+ signatureField.bounds = bounds;
480
+ const formFields = [signatureField];
481
+ const templateRole = new TemplateRole();
482
+ templateRole.index = 1;
483
+ templateRole.name = "Hr";
484
+ templateRole.defaultSignerName = "Divya";
485
+ templateRole.defaultSignerEmail = "invalid-email";
486
+ templateRole.signerOrder = 1;
487
+ templateRole.signerType = TemplateRole.SignerTypeEnum.Signer;
488
+ templateRole.locale = TemplateRole.LocaleEnum.En;
489
+ templateRole.formFields = formFields;
490
+ templateRole.allowRoleEdit = true;
491
+ templateRole.allowRoleDelete = true;
492
+ const roles = [templateRole];
493
+ const createTemplateRequest = new CreateTemplateRequest();
494
+ createTemplateRequest.enableReassign = true;
495
+ createTemplateRequest.allowNewRoles = true;
496
+ createTemplateRequest.enablePrintAndSign = false;
497
+ createTemplateRequest.documentMessage = "document message for signers";
498
+ createTemplateRequest.enableSigningOrder = false;
499
+ createTemplateRequest.useTextTags = false;
500
+ createTemplateRequest.title = "title of the template";
501
+ createTemplateRequest.allowMessageEditing = true;
502
+ createTemplateRequest.description = "testingDescription";
503
+ createTemplateRequest.documentTitle = "title of the document";
504
+ createTemplateRequest.allowNewFiles = true;
505
+ createTemplateRequest.roles = roles;
506
+ const documentFile = fs.createReadStream("tests/documents/agreement.pdf");
507
+ createTemplateRequest.files = [documentFile];
508
+ try {
509
+ const response = await templateApi.createTemplate(createTemplateRequest);
510
+ console.error("Unexpected success:", response);
511
+ throw new Error("Template creation should have failed due to invalid email");
512
+ } catch (error: any) {
513
+ console.log("Expected error for invalid email:", error.response?.data || error.message);
514
+ expect(error.response).toBeDefined();
515
+ expect(error.response.status).toBe(400);
516
+ expect(error.response.statusText).toBe("Bad Request");
517
+ }
518
+ }, 20000);
519
+ test('Test13:should edit a template successfully', async () => {
520
+ const editTemplateRequest = new EditTemplateRequest();
521
+ editTemplateRequest.title = "Updated NodesdkTesting";
522
+ editTemplateRequest.description = "Updated description for the template";
523
+ editTemplateRequest.documentMessage = "Updated document message for signers";
524
+ editTemplateRequest.enableReassign = true;
525
+ try {
526
+ const response = await templateApi.editTemplate(createdTemplateId, editTemplateRequest);
527
+ console.log("Template edited successfully:", response);
528
+ } catch (error:any) {
529
+ console.log("Error occurred while calling the API:", error.message);
530
+ expect(error.message).toBeUndefined();
531
+ }
532
+ }, 20000);
533
+ test('Test14:should fail to edit a template with invalid template ID', async () => {
534
+ const editTemplateRequest = new EditTemplateRequest();
535
+ editTemplateRequest.title = "Updated NodesdkTesting";
536
+ editTemplateRequest.description = "Updated description for the template";
537
+ editTemplateRequest.documentMessage = "Updated document message for signers";
538
+ editTemplateRequest.enableReassign = true;
539
+ const invalidTemplateId = "invalid-template-id";
540
+ try {
541
+ const response = await templateApi.editTemplate(invalidTemplateId, editTemplateRequest);
542
+ console.error("Unexpected success response:", response);
543
+ throw new Error("Test failed, template edit should not succeed with invalid template ID");
544
+ } catch (error:any) {
545
+ console.log("Error occurred while calling the API:", error.message);
546
+ }
547
+ }, 20000);
548
+ test('Test15: should fail to edit a template with empty title', async () => {
549
+ const editTemplateRequest = new EditTemplateRequest();
550
+ editTemplateRequest.title = "";
551
+ editTemplateRequest.description = "Updated description for the template";
552
+ editTemplateRequest.documentMessage = "Updated document message for signers";
553
+ editTemplateRequest.enableReassign = true;
554
+ const validTemplateId = "valid-template-id";
555
+ try {
556
+ const response = await templateApi.editTemplate(validTemplateId, editTemplateRequest);
557
+ console.error("Unexpected success response:", response);
558
+ throw new Error("Test failed, template edit should not succeed with empty title");
559
+ } catch (error: any) {
560
+ console.log("Expected error occurred for empty title:", error.response?.data || error.message);
561
+ expect(error.response).toBeDefined();
562
+ expect(error.response.status).toBe(403);
563
+ expect(error.response.statusText).toBe("Forbidden");
564
+ }
565
+ }, 20000);
566
+ test('Test16:should add tag to template successfully', async () => {
567
+ const addTag = new TemplateTag();
568
+ addTag.templateId = createdTemplateId;
569
+ addTag.documentLabels = ["test", "api"];
570
+ addTag.templateLabels = ["test", "api"];
571
+ try {
572
+ const response = await templateApi.addTag(addTag);
573
+ console.log("Tag added successfully:", response);
574
+ } catch (error:any) {
575
+ console.log("Error occurred while calling the API:", error.message);
576
+ expect(error.message).toBeUndefined();
577
+ }
578
+ },20000);
579
+ test('Test17: should fail to add tag to template with invalid template ID', async () => {
580
+ const addTag = new TemplateTag();
581
+ addTag.templateId = "INVALID_TEMPLATE_ID";
582
+ addTag.documentLabels = ["test", "api"];
583
+ addTag.templateLabels = ["test", "api"];
584
+ try {
585
+ const response = await templateApi.addTag(addTag);
586
+ console.error("Unexpected success response:", response);
587
+ throw new Error("Test failed, tag should not have been added with invalid template ID");
588
+ } catch (error: any) {
589
+ console.log("Error occurred while calling the API:", error.message);
590
+ expect(error.message).toBeDefined();
591
+ }
592
+ },20000);
593
+ test('Test18: should fail to add tag to template with empty document labels and template labels', async () => {
594
+ const addTag = new TemplateTag();
595
+ addTag.templateId = createdTemplateId;
596
+ addTag.documentLabels = [];
597
+ addTag.templateLabels = [];
598
+ try {
599
+ const response = await templateApi.addTag(addTag);
600
+ console.error("Unexpected success response:", response);
601
+ throw new Error("Test failed, tag should not have been added with empty document labels and template labels");
602
+ } catch (error: any) {
603
+ console.log("Error occurred while calling the API:", error.message);
604
+ expect(error.message).toBeDefined();
605
+ }
606
+ },20000);
607
+ test('Test19: should delete tag from template successfully', async () => {
608
+ const deleteTag = new TemplateTag();
609
+ deleteTag.templateId = createdTemplateId;
610
+ deleteTag.documentLabels = ["test", "api"];
611
+ deleteTag.templateLabels = ["test", "api"];
612
+ try {
613
+ const response = await templateApi.deleteTag(deleteTag);
614
+ console.log("Tag deleted successfully:", response);
615
+ } catch (error:any) {
616
+ console.error("Error occurred while calling the API:", error.message);
617
+ expect(error.message).toBeUndefined();
618
+ }
619
+ },20000);
620
+ test('Test20: should fail to delete tag from template with invalid template ID', async () => {
621
+ const deleteTag = new TemplateTag();
622
+ deleteTag.templateId = "INVALID_TEMPLATE_ID";
623
+ deleteTag.documentLabels = ["test", "api"];
624
+ deleteTag.templateLabels = ["test", "api"];
625
+ try {
626
+ const response = await templateApi.deleteTag(deleteTag);
627
+ console.error("Unexpected success response:", response);
628
+ throw new Error("Test failed, tag should not have been deleted with invalid template ID");
629
+ } catch (error: any) {
630
+ console.log("Error occurred while calling the API:", error.message);
631
+ expect(error.message).toBeDefined();
632
+ }
633
+ },20000);
634
+ test('Test21: should fail to delete tag from template with valid template ID and empty labels', async () => {
635
+ const deleteTag = new TemplateTag();
636
+ deleteTag.templateId = createdTemplateId;
637
+ deleteTag.documentLabels = [];
638
+ deleteTag.templateLabels = [];
639
+ try {
640
+ const response = await templateApi.deleteTag(deleteTag);
641
+ console.error("Unexpected success response:", response);
642
+ throw new Error("Test failed, tag should not have been deleted with empty labels");
643
+ } catch (error: any) {
644
+ console.log("Error occurred while calling the API:", error.message);
645
+ expect(error.message).toBeDefined();
646
+ }
647
+ },20000);
648
+ test('Test22: should retrieve template properties successfully', async () => {
649
+ try {
650
+ const response = await templateApi.getProperties(createdTemplateId);
651
+ console.log("Template Properties:", response);
652
+ expect(response).toBeDefined();
653
+ } catch (error:any) {
654
+ console.log("Error occurred while calling the API:", error.message);
655
+ expect(error.message).toBeUndefined();
656
+ }
657
+ },20000);
658
+ test('Test23: should fail to retrieve template properties with invalid template ID', async () => {
659
+ const invalidTemplateId = "INVALID_TEMPLATE_ID";
660
+ try {
661
+ const response = await templateApi.getProperties(invalidTemplateId);
662
+ console.error("Unexpected success response:", response);
663
+ throw new Error("Test failed, API should have thrown an error for invalid template ID");
664
+ } catch (error: any) {
665
+ console.log("Error occurred while calling the API:", error.message);
666
+ }
667
+ },20000);
668
+ test('Test24: should fail to retrieve template properties with empty template', async () => {
669
+ const templateId = "";
670
+ try {
671
+ const response = await templateApi.getProperties(templateId);
672
+ console.error("Unexpected success response:", response);
673
+ throw new Error("Test failed, API should have thrown an error for invalid template ID");
674
+ } catch (error: any) {
675
+ console.log("Error occurred while calling the API:", error);
676
+ expect(error.response.status).toBe(400);
677
+ expect(error.response.statusText).toBe("Bad Request");
678
+ }
679
+ },20000);
680
+ test('Test25:should download template successfully', async () => {
681
+ try {
682
+ console.log("Created Template ID:", createdTemplateId1);
683
+ const response = await templateApi.download(createdTemplateId);
684
+ console.log("Template downloaded successfully:", response);
685
+ expect(response).toBeDefined();
686
+ } catch (error:any) {
687
+ console.log("Error occurred while calling the API:", error.message);
688
+ expect(error.message).toBeUndefined();
689
+ }
690
+ }, 20000);
691
+ test('Test26:should fail to download template with invalid template ID', async () => {
692
+ const invalidTemplateId = "invalid-template-id";
693
+ try {
694
+ const response = await templateApi.download(invalidTemplateId);
695
+ console.error("Unexpected success response:", response);
696
+ throw new Error("Test failed, template download should not succeed with an invalid template ID");
697
+ } catch (error:any) {
698
+ console.log("Error occurred while calling the API:", error.message);
699
+ expect(error.message).toBeDefined();
700
+ }
701
+ }, 20000);
702
+ test('Test27: should send document for signing using template', async () => {
703
+ const formField = new FormField();
704
+ formField.fieldType = FormField.FieldTypeEnum.Signature;
705
+ formField.pageNumber = 1;
706
+ const bounds = new Rectangle();
707
+ bounds.x = 100;
708
+ bounds.y = 50;
709
+ bounds.width = 100;
710
+ bounds.height = 100;
711
+ formField.bounds = bounds;
712
+ const role = new Role();
713
+ role.roleIndex = 50;
714
+ role.signerName = "Divya";
715
+ role.signerEmail = "divya.boopathy+20@syncfusion.com";
716
+ role.signerOrder = 1;
717
+ role.enableEmailOTP = false;
718
+ role.signerType = Role.SignerTypeEnum.Signer;
719
+ role.authenticationType = Role.AuthenticationTypeEnum.AccessCode;
720
+ role.authenticationCode = '123456';
721
+ role.authenticationSettings = {
722
+ authenticationFrequency: AuthenticationSettings.AuthenticationFrequencyEnum.EveryAccess
723
+ };
724
+ role.signerRole = "Manager";
725
+ role.privateMessage = "Please check and sign the document";
726
+ role.formFields = [formField];
727
+ const sendForSignFromTemplate = new SendForSignFromTemplateForm();
728
+ const files = fs.createReadStream("tests/documents/agreement.pdf");
729
+ sendForSignFromTemplate.files = [files];
730
+ sendForSignFromTemplate.title = "Invitation form";
731
+ sendForSignFromTemplate.message = "Kindly review and sign this.";
732
+ sendForSignFromTemplate.roles = [role];
733
+ sendForSignFromTemplate.disableEmails = false;
734
+ sendForSignFromTemplate.disableSMS = false;
735
+ sendForSignFromTemplate.hideDocumentId = true;
736
+ sendForSignFromTemplate.labels = ["Invitation", "Form", "Test"];
737
+ const reminderSettings = new ReminderSettings();
738
+ reminderSettings.reminderDays = 3;
739
+ reminderSettings.reminderCount = 5;
740
+ reminderSettings.enableAutoReminder = false;
741
+ sendForSignFromTemplate.reminderSettings = reminderSettings;
742
+ sendForSignFromTemplate.expiryValue = 60;
743
+ sendForSignFromTemplate.disableExpiryAlert = true;
744
+ sendForSignFromTemplate.enablePrintAndSign = true;
745
+ sendForSignFromTemplate.enableReassign = true;
746
+ sendForSignFromTemplate.enableSigningOrder = true;
747
+ try {
748
+ const response = await templateApi.sendUsingTemplate(createdTemplateId, sendForSignFromTemplate);
749
+ console.log("Document sent for signing using template successfully:", response);
750
+ expect(response).toBeDefined();
751
+ } catch (error:any) {
752
+ console.error("Error occurred while calling the API:", error.message);
753
+ expect(error.message).toBeUndefined();
754
+ }
755
+ }, 20000);
756
+ test('Test28:should send document for signing using template with multiple CCs', async () => {
757
+ const formField = new FormField();
758
+ formField.fieldType = FormField.FieldTypeEnum.Signature;
759
+ formField.pageNumber = 1;
760
+ const bounds = new Rectangle();
761
+ bounds.x = 100;
762
+ bounds.y = 100;
763
+ bounds.width = 100;
764
+ bounds.height = 50;
765
+ formField.bounds = bounds;
766
+ const role = new Role();
767
+ role.roleIndex = 50;
768
+ role.signerName = "Divya";
769
+ role.signerEmail = "divya.boopathy+23@syncfusion.com";
770
+ role.signerOrder = 1;
771
+ role.privateMessage = "Please check and sign the document.";
772
+ role.authenticationCode = "123456";
773
+ role.enableEmailOTP = false;
774
+ role.signerType = Role.SignerTypeEnum.Signer;
775
+ role.signerRole = "Hr";
776
+ role.formFields = [formField];
777
+ role.locale = Role.LocaleEnum.En;
778
+ const sendForSignFromTemplate = new SendForSignFromTemplateForm();
779
+ const files = fs.createReadStream("tests/documents/agreement.pdf");
780
+ sendForSignFromTemplate.files = [files];
781
+ sendForSignFromTemplate.title = "Invitation form";
782
+ sendForSignFromTemplate.message = "Kindly review and sign this.";
783
+ sendForSignFromTemplate.roles = [role];
784
+ sendForSignFromTemplate.disableEmails = true;
785
+ sendForSignFromTemplate.disableSMS = false;
786
+ sendForSignFromTemplate.hideDocumentId = false;
787
+ sendForSignFromTemplate.labels = ["Invitation"];
788
+ const ccEmails: DocumentCC[] = [
789
+ { emailAddress: "divya.boopathy+5@syncfusion.com" },
790
+ { emailAddress: "divya.boopathy+8@syncfusion.com" },
791
+ { emailAddress: "divya.boopathy+9@syncfusion.com" }
792
+ ];
793
+ sendForSignFromTemplate.cc = ccEmails;
794
+ const reminderSettings = new ReminderSettings();
795
+ reminderSettings.reminderDays = 3;
796
+ reminderSettings.reminderCount = 5;
797
+ reminderSettings.enableAutoReminder = false;
798
+ sendForSignFromTemplate.reminderSettings = reminderSettings;
799
+ sendForSignFromTemplate.expiryDays = 180;
800
+ sendForSignFromTemplate.expiryValue = 60;
801
+ sendForSignFromTemplate.disableExpiryAlert = true;
802
+ sendForSignFromTemplate.enablePrintAndSign = true;
803
+ sendForSignFromTemplate.enableReassign = true;
804
+ sendForSignFromTemplate.enableSigningOrder = true;
805
+ sendForSignFromTemplate.roleRemovalIndices = [1, 2];
806
+ try {
807
+ const response = await templateApi.sendUsingTemplate(createdTemplateId, sendForSignFromTemplate);
808
+ console.log("Document sent for signing using template successfully:", response);
809
+ expect(response).toBeDefined();
810
+ } catch (error:any) {
811
+ console.error("Error occurred while calling the API:", error.message);
812
+ expect(error.message).toBeUndefined();
813
+ }
814
+ }, 20000);
815
+ test('Test29: should send document from template with file path', async () => {
816
+ const formField = new FormField();
817
+ formField.fieldType = FormField.FieldTypeEnum.Signature;
818
+ formField.pageNumber = 1;
819
+ const bounds = new Rectangle();
820
+ bounds.x = 100;
821
+ bounds.y = 50;
822
+ bounds.width = 100;
823
+ bounds.height = 100;
824
+ formField.bounds = bounds;
825
+ const role = new Role();
826
+ role.roleIndex = 50;
827
+ role.signerName = "Divya";
828
+ role.signerEmail = "divya.boopathy+20@syncfusion.com";
829
+ role.signerOrder = 1;
830
+ role.enableEmailOTP = false;
831
+ role.signerType = Role.SignerTypeEnum.Signer;
832
+ role.signerRole = "Manager";
833
+ role.privateMessage = "Please check and sign the document";
834
+ role.formFields = [formField];
835
+ const sendForSignFromTemplate = new SendForSignFromTemplateForm();
836
+ const fileStream = fs.createReadStream("tests/documents/agreement.pdf");
837
+ sendForSignFromTemplate.files = [fileStream];
838
+ sendForSignFromTemplate.title = "Invitation form";
839
+ sendForSignFromTemplate.message = "Kindly review and sign this.";
840
+ sendForSignFromTemplate.roles = [role];
841
+ sendForSignFromTemplate.disableEmails = false;
842
+ sendForSignFromTemplate.disableSMS = false;
843
+ sendForSignFromTemplate.hideDocumentId = true;
844
+ sendForSignFromTemplate.labels = ["Invitation", "Form", "Test"];
845
+ const reminderSettings = new ReminderSettings();
846
+ reminderSettings.reminderDays = 3;
847
+ reminderSettings.reminderCount = 5;
848
+ reminderSettings.enableAutoReminder = false;
849
+ sendForSignFromTemplate.reminderSettings = reminderSettings;
850
+ sendForSignFromTemplate.expiryValue = 60;
851
+ sendForSignFromTemplate.disableExpiryAlert = true;
852
+ sendForSignFromTemplate.enablePrintAndSign = true;
853
+ sendForSignFromTemplate.enableReassign = true;
854
+ sendForSignFromTemplate.enableSigningOrder = true;
855
+ try {
856
+ const response = await templateApi.sendUsingTemplate(createdTemplateId, sendForSignFromTemplate);
857
+ console.log("Document sent for signing using template successfully:", response);
858
+ expect(response).toBeDefined();
859
+ } catch (error) {
860
+ console.error("Error occurred while calling the API:", error);
861
+ expect(error).toBeUndefined();
862
+ }
863
+ }, 20000);
864
+ test('Test30: should fail to send document for signing using invalid template ID with valid fields', async () => {
865
+ const templateId = "INVALID_TEMPLATE_ID";
866
+ const formField = new FormField();
867
+ formField.fieldType = FormField.FieldTypeEnum.Signature;
868
+ formField.pageNumber = 1;
869
+ const bounds = new Rectangle();
870
+ bounds.x = 100;
871
+ bounds.y = 50;
872
+ bounds.width = 100;
873
+ bounds.height = 100;
874
+ formField.bounds = bounds;
875
+ const role = new Role();
876
+ role.roleIndex = 50;
877
+ role.signerName = "Divya";
878
+ role.signerEmail = "divya.boopathy+20@syncfusion.com";
879
+ role.signerOrder = 1;
880
+ role.enableEmailOTP = false;
881
+ role.signerType = Role.SignerTypeEnum.Signer;
882
+ role.signerRole = "Manager";
883
+ role.privateMessage = "Please check and sign the document";
884
+ role.formFields = [formField];
885
+ const sendForSignFromTemplate = new SendForSignFromTemplateForm();
886
+ const files = fs.createReadStream("tests/documents/agreement.pdf");
887
+ sendForSignFromTemplate.files = [files];
888
+ sendForSignFromTemplate.title = "Invitation form";
889
+ sendForSignFromTemplate.message = "Kindly review and sign this.";
890
+ sendForSignFromTemplate.roles = [role];
891
+ sendForSignFromTemplate.disableEmails = false;
892
+ sendForSignFromTemplate.disableSMS = false;
893
+ sendForSignFromTemplate.hideDocumentId = true;
894
+ sendForSignFromTemplate.labels = ["Invitation", "Form", "Test"];
895
+ const reminderSettings = new ReminderSettings();
896
+ reminderSettings.reminderDays = 3;
897
+ reminderSettings.reminderCount = 5;
898
+ reminderSettings.enableAutoReminder = false;
899
+ sendForSignFromTemplate.reminderSettings = reminderSettings;
900
+ sendForSignFromTemplate.expiryValue = 60;
901
+ sendForSignFromTemplate.disableExpiryAlert = true;
902
+ sendForSignFromTemplate.enablePrintAndSign = true;
903
+ sendForSignFromTemplate.enableReassign = true;
904
+ sendForSignFromTemplate.enableSigningOrder = true;
905
+ try {
906
+ const response = await templateApi.sendUsingTemplate(templateId, sendForSignFromTemplate);
907
+ console.error("Unexpected success response:", response);
908
+ throw new Error("Test failed, document should not have been sent with invalid template ID.");
909
+ } catch (error: any) {
910
+ console.log("Error occurred while calling the API:", error.message);
911
+ expect(error.message).toBeDefined();
912
+ }
913
+ }, 20000);
914
+ test('Test31: should send document for signing using template with email and SMS', async () => {
915
+ const formField = new FormField();
916
+ formField.fieldType = FormField.FieldTypeEnum.Signature;
917
+ formField.pageNumber = 1;
918
+ const bounds = new Rectangle();
919
+ bounds.x = 100;
920
+ bounds.y = 50;
921
+ bounds.width = 100;
922
+ bounds.height = 100;
923
+ formField.bounds = bounds;
924
+ const phoneNumber = new PhoneNumber();
925
+ phoneNumber.countryCode = "+91";
926
+ phoneNumber.number = "6381261236";
927
+ const role = new Role();
928
+ role.roleIndex = 50;
929
+ role.signerName = "Divya";
930
+ role.signerEmail = "divya.boopathy+20@syncfusion.com";
931
+ role.phoneNumber = phoneNumber;
932
+ role.signerOrder = 1;
933
+ role.enableEmailOTP = false;
934
+ role.signerType = Role.SignerTypeEnum.Signer;
935
+ role.signerRole = "Manager";
936
+ role.privateMessage = "Please check and sign the document";
937
+ role.formFields = [formField];
938
+ role.deliveryMode = Role.DeliveryModeEnum.EmailAndSms;
939
+ const sendForSignFromTemplate = new SendForSignFromTemplateForm();
940
+ const files = fs.createReadStream("tests/documents/agreement.pdf");
941
+ sendForSignFromTemplate.files = [files];
942
+ sendForSignFromTemplate.title = "Invitation form";
943
+ sendForSignFromTemplate.message = "Kindly review and sign this.";
944
+ sendForSignFromTemplate.roles = [role];
945
+ sendForSignFromTemplate.disableEmails = false;
946
+ sendForSignFromTemplate.disableSMS = false;
947
+ sendForSignFromTemplate.hideDocumentId = true;
948
+ sendForSignFromTemplate.labels = ["Invitation", "Form", "Test"];
949
+ const reminderSettings = new ReminderSettings();
950
+ reminderSettings.reminderDays = 3;
951
+ reminderSettings.reminderCount = 5;
952
+ reminderSettings.enableAutoReminder = false;
953
+ sendForSignFromTemplate.reminderSettings = reminderSettings;
954
+ sendForSignFromTemplate.expiryValue = 60;
955
+ sendForSignFromTemplate.disableExpiryAlert = true;
956
+ sendForSignFromTemplate.enablePrintAndSign = true;
957
+ sendForSignFromTemplate.enableReassign = true;
958
+ sendForSignFromTemplate.enableSigningOrder = true;
959
+ try {
960
+ const response = await templateApi.sendUsingTemplate(createdTemplateId, sendForSignFromTemplate);
961
+ console.log("Document sent for signing using template with email and SMS successfully:", response);
962
+ expect(response).toBeDefined();
963
+ } catch (error) {
964
+ console.error("Error occurred while calling the API:", error);
965
+ expect(error).toBeUndefined();
966
+ }
967
+ }, 20000);
968
+ test('Test32: should fail with invalid email and empty phone number', async () => {
969
+ const formField = new FormField();
970
+ formField.fieldType = FormField.FieldTypeEnum.Signature;
971
+ formField.pageNumber = 1;
972
+ const bounds = new Rectangle();
973
+ bounds.x = 100;
974
+ bounds.y = 50;
975
+ bounds.width = 100;
976
+ bounds.height = 100;
977
+ formField.bounds = bounds;
978
+ const phoneNumber = new PhoneNumber();
979
+ phoneNumber.countryCode = "";
980
+ phoneNumber.number = "";
981
+ const role = new Role();
982
+ role.roleIndex = 50;
983
+ role.signerName = "Divya";
984
+ role.signerEmail = "invalid-email";
985
+ role.phoneNumber = phoneNumber;
986
+ role.signerOrder = 1;
987
+ role.enableEmailOTP = false;
988
+ role.signerType = Role.SignerTypeEnum.Signer;
989
+ role.signerRole = "Manager";
990
+ role.privateMessage = "Please check and sign the document";
991
+ role.formFields = [formField];
992
+ role.deliveryMode = Role.DeliveryModeEnum.EmailAndSms;
993
+ const sendForSignFromTemplate = new SendForSignFromTemplateForm();
994
+ const files = fs.createReadStream("tests/documents/agreement.pdf");
995
+ sendForSignFromTemplate.files = [files];
996
+ sendForSignFromTemplate.title = "Invitation form";
997
+ sendForSignFromTemplate.message = "Kindly review and sign this.";
998
+ sendForSignFromTemplate.roles = [role];
999
+ sendForSignFromTemplate.disableEmails = false;
1000
+ sendForSignFromTemplate.disableSMS = false;
1001
+ sendForSignFromTemplate.hideDocumentId = true;
1002
+ sendForSignFromTemplate.labels = ["Invitation", "Form", "Test"];
1003
+ const reminderSettings = new ReminderSettings();
1004
+ reminderSettings.reminderDays = 3;
1005
+ reminderSettings.reminderCount = 5;
1006
+ reminderSettings.enableAutoReminder = false;
1007
+ sendForSignFromTemplate.reminderSettings = reminderSettings;
1008
+ sendForSignFromTemplate.expiryValue = 60;
1009
+ sendForSignFromTemplate.disableExpiryAlert = true;
1010
+ sendForSignFromTemplate.enablePrintAndSign = true;
1011
+ sendForSignFromTemplate.enableReassign = true;
1012
+ sendForSignFromTemplate.enableSigningOrder = true;
1013
+ try {
1014
+ const response = await templateApi.sendUsingTemplate(createdTemplateId, sendForSignFromTemplate);
1015
+ console.error("Expected failure, but API call succeeded:", response);
1016
+ fail("Expected API to fail due to invalid email and empty phone number");
1017
+ } catch (error:any) {
1018
+ console.log("Error occurred while calling the API:", error);
1019
+ expect(error).toBeDefined();
1020
+ expect(error.response.status).toBe(400);
1021
+ expect(error.response.statusText).toBe("Bad Request");
1022
+ }
1023
+ }, 20000);
1024
+ test('Test33: should send document using template with existing form fields', async () => {
1025
+ const role = new Role();
1026
+ role.roleIndex = 50;
1027
+ role.signerName = "Divya";
1028
+ role.signerEmail = "divya.boopathy+20@syncfusion.com";
1029
+ role.signerOrder = 1;
1030
+ role.enableEmailOTP = false;
1031
+ role.signerType = Role.SignerTypeEnum.Signer;
1032
+ role.signerRole = "Manager";
1033
+ role.privateMessage = "Please check and sign the document";
1034
+ role.existingFormFields = [
1035
+ {
1036
+ id: "State",
1037
+ value: "North Carolina"
1038
+ }
1039
+ ];
1040
+ const sendForSignFromTemplate = new SendForSignFromTemplateForm();
1041
+ const files = fs.createReadStream("tests/documents/agreement.pdf");
1042
+ sendForSignFromTemplate.files = [files];
1043
+ sendForSignFromTemplate.title = "Invitation form";
1044
+ sendForSignFromTemplate.message = "Kindly review and sign this.";
1045
+ sendForSignFromTemplate.roles = [role];
1046
+ sendForSignFromTemplate.disableEmails = false;
1047
+ sendForSignFromTemplate.disableSMS = false;
1048
+ sendForSignFromTemplate.hideDocumentId = true;
1049
+ sendForSignFromTemplate.labels = ["Invitation", "Form", "Test"];
1050
+ const reminderSettings = new ReminderSettings();
1051
+ reminderSettings.reminderDays = 3;
1052
+ reminderSettings.reminderCount = 5;
1053
+ reminderSettings.enableAutoReminder = false;
1054
+ sendForSignFromTemplate.reminderSettings = reminderSettings;
1055
+ sendForSignFromTemplate.expiryValue = 60;
1056
+ sendForSignFromTemplate.disableExpiryAlert = true;
1057
+ sendForSignFromTemplate.enablePrintAndSign = true;
1058
+ sendForSignFromTemplate.enableReassign = true;
1059
+ sendForSignFromTemplate.enableSigningOrder = true;
1060
+ try {
1061
+ const response = await templateApi.sendUsingTemplate(createdTemplateId1, sendForSignFromTemplate);
1062
+ console.log("Document sent using template with pre-filled fields successfully:", response);
1063
+ expect(response).toBeDefined();
1064
+ } catch (error) {
1065
+ console.error("Error occurred while calling the API:", error);
1066
+ expect(error).toBeUndefined();
1067
+ }
1068
+ }, 20000);
1069
+ test('Test34: should fail to send document using template with empty existing form field', async () => {
1070
+ const role = new Role();
1071
+ role.roleIndex = 50;
1072
+ role.signerName = "Divya";
1073
+ role.signerEmail = "divya.boopathy+20@syncfusion.com";
1074
+ role.signerOrder = 1;
1075
+ role.enableEmailOTP = false;
1076
+ role.signerType = Role.SignerTypeEnum.Signer;
1077
+ role.signerRole = "Manager";
1078
+ role.privateMessage = "Please check and sign the document";
1079
+ role.existingFormFields = [
1080
+ {
1081
+ id: "",
1082
+ value: "North Carolina"
1083
+ }
1084
+ ];
1085
+ const sendForSignFromTemplate = new SendForSignFromTemplateForm();
1086
+ const files = fs.createReadStream("tests/documents/agreement.pdf");
1087
+ sendForSignFromTemplate.files = [files];
1088
+ sendForSignFromTemplate.title = "Invitation form";
1089
+ sendForSignFromTemplate.message = "Kindly review and sign this.";
1090
+ sendForSignFromTemplate.roles = [role];
1091
+ sendForSignFromTemplate.disableEmails = false;
1092
+ sendForSignFromTemplate.disableSMS = false;
1093
+ sendForSignFromTemplate.hideDocumentId = true;
1094
+ sendForSignFromTemplate.labels = ["Invitation", "Form", "Test"];
1095
+ const reminderSettings = new ReminderSettings();
1096
+ reminderSettings.reminderDays = 3;
1097
+ reminderSettings.reminderCount = 5;
1098
+ reminderSettings.enableAutoReminder = false;
1099
+ sendForSignFromTemplate.reminderSettings = reminderSettings;
1100
+ sendForSignFromTemplate.expiryValue = 60;
1101
+ sendForSignFromTemplate.disableExpiryAlert = true;
1102
+ sendForSignFromTemplate.enablePrintAndSign = true;
1103
+ sendForSignFromTemplate.enableReassign = true;
1104
+ sendForSignFromTemplate.enableSigningOrder = true;
1105
+ try {
1106
+ const response = await templateApi.sendUsingTemplate(createdTemplateId, sendForSignFromTemplate);
1107
+ } catch (error:any) {
1108
+ expect(error).toBeDefined();
1109
+ expect(error.response.status).toBe(400);
1110
+ expect(error.response.statusText).toBe("Bad Request");
1111
+ }
1112
+ }, 20000);
1113
+ test('Test35: should send document using template with existing image field', async () => {
1114
+ const imagePath = "tests/documents/logo.jpg";
1115
+ const imageBuffer = fs.readFileSync(imagePath);
1116
+ const base64Image = imageBuffer.toString("base64");
1117
+ const role = new Role();
1118
+ role.roleIndex = 50;
1119
+ role.signerName = "Divya";
1120
+ role.signerEmail = "divya.boopathy+20@syncfusion.com";
1121
+ role.signerOrder = 1;
1122
+ role.enableEmailOTP = false;
1123
+ role.signerType = Role.SignerTypeEnum.Signer;
1124
+ role.signerRole = "Manager";
1125
+ role.privateMessage = "Please check and sign the document";
1126
+ role.existingFormFields = [
1127
+ {
1128
+ id: "Image1",
1129
+ value: base64Image
1130
+ }
1131
+ ];
1132
+ const sendForSignFromTemplate = new SendForSignFromTemplateForm();
1133
+ const files = fs.createReadStream("tests/documents/agreement.pdf");
1134
+ sendForSignFromTemplate.files = [files];
1135
+ sendForSignFromTemplate.title = "Invitation form";
1136
+ sendForSignFromTemplate.message = "Kindly review and sign this.";
1137
+ sendForSignFromTemplate.roles = [role];
1138
+ sendForSignFromTemplate.disableEmails = false;
1139
+ sendForSignFromTemplate.disableSMS = false;
1140
+ sendForSignFromTemplate.hideDocumentId = true;
1141
+ sendForSignFromTemplate.labels = ["Invitation", "Form", "Test"];
1142
+ const reminderSettings = new ReminderSettings();
1143
+ reminderSettings.reminderDays = 3;
1144
+ reminderSettings.reminderCount = 5;
1145
+ reminderSettings.enableAutoReminder = false;
1146
+ sendForSignFromTemplate.reminderSettings = reminderSettings;
1147
+ sendForSignFromTemplate.expiryValue = 60;
1148
+ sendForSignFromTemplate.disableExpiryAlert = true;
1149
+ sendForSignFromTemplate.enablePrintAndSign = true;
1150
+ sendForSignFromTemplate.enableReassign = true;
1151
+ sendForSignFromTemplate.enableSigningOrder = true;
1152
+ try {
1153
+ const response = await templateApi.sendUsingTemplate(createdTemplateId4, sendForSignFromTemplate);
1154
+ console.log("Document sent using template with pre-filled image field successfully:", response);
1155
+ expect(response).toBeDefined();
1156
+ expect(response.response.status).toBe(201);
1157
+ expect(response.response.statusText).toBe("Created");
1158
+ } catch (error) {
1159
+ console.error("Error occurred while calling the API:", error);
1160
+ }
1161
+ }, 20000);
1162
+ test('Test36: should fail to send document using template due to invalid existing image field ID', async () => {
1163
+ const imagePath = "tests/documents/logo.jpg";
1164
+ const imageBuffer = fs.readFileSync(imagePath);
1165
+ const base64Image = imageBuffer.toString("base64");
1166
+ const role = new Role();
1167
+ role.roleIndex = 50;
1168
+ role.signerName = "Divya";
1169
+ role.signerEmail = "divya.boopathy+20@syncfusion.com";
1170
+ role.signerOrder = 1;
1171
+ role.enableEmailOTP = false;
1172
+ role.signerType = Role.SignerTypeEnum.Signer;
1173
+ role.signerRole = "Manager";
1174
+ role.privateMessage = "Please check and sign the document";
1175
+ role.existingFormFields = [
1176
+ {
1177
+ id: "",
1178
+ value: ""
1179
+ }
1180
+ ];
1181
+ const sendForSignFromTemplate = new SendForSignFromTemplateForm();
1182
+ const files = fs.createReadStream("tests/documents/agreement.pdf");
1183
+ sendForSignFromTemplate.files = [files];
1184
+ sendForSignFromTemplate.title = "Invitation form";
1185
+ sendForSignFromTemplate.message = "Kindly review and sign this.";
1186
+ sendForSignFromTemplate.roles = [role];
1187
+ sendForSignFromTemplate.disableEmails = false;
1188
+ sendForSignFromTemplate.disableSMS = false;
1189
+ sendForSignFromTemplate.hideDocumentId = true;
1190
+ sendForSignFromTemplate.labels = ["Invitation", "Form", "Test"];
1191
+ const reminderSettings = new ReminderSettings();
1192
+ reminderSettings.reminderDays = 3;
1193
+ reminderSettings.reminderCount = 5;
1194
+ reminderSettings.enableAutoReminder = false;
1195
+ sendForSignFromTemplate.reminderSettings = reminderSettings;
1196
+ sendForSignFromTemplate.expiryValue = 60;
1197
+ sendForSignFromTemplate.disableExpiryAlert = true;
1198
+ sendForSignFromTemplate.enablePrintAndSign = true;
1199
+ sendForSignFromTemplate.enableReassign = true;
1200
+ sendForSignFromTemplate.enableSigningOrder = true;
1201
+ try {
1202
+ const response = await templateApi.sendUsingTemplate("invalid-document-id", sendForSignFromTemplate);
1203
+ console.error("Document was sent unexpectedly:", response);
1204
+ } catch (error: any) {
1205
+ expect(error).toBeDefined();
1206
+ expect(error.response.status).toBe(400);
1207
+ expect(error.response.statusText).toBe("Bad Request");
1208
+ }
1209
+ }, 20000);
1210
+
1211
+ test('Test37:should return the embedded template edit URL', async () => {
1212
+ const embeddedEditTemplateRequest = new EmbeddedTemplateEditRequest();
1213
+ embeddedEditTemplateRequest.showToolbar = true;
1214
+ embeddedEditTemplateRequest.showNavigationButtons = false;
1215
+ embeddedEditTemplateRequest.showPreviewButton = true;
1216
+ embeddedEditTemplateRequest.showSaveButton = false;
1217
+ embeddedEditTemplateRequest.showCreateButton = false;
1218
+ embeddedEditTemplateRequest.showTooltip = false;
1219
+ try {
1220
+ const response = await templateApi.getEmbeddedTemplateEditUrl(createdTemplateId, embeddedEditTemplateRequest);
1221
+ console.log("Template Edit URL:", response);
1222
+ expect(response).toBeDefined();
1223
+ } catch (error:any) {
1224
+ console.log('Error occurred while calling the API:', error.message);
1225
+ expect(error.message).toBeUndefined();
1226
+ }
1227
+ },20000);
1228
+ test('Test38:should fail to get embedded template edit URL with invalid template ID', async () => {
1229
+ const embeddedEditTemplateRequest = new EmbeddedTemplateEditRequest();
1230
+ embeddedEditTemplateRequest.showToolbar = true;
1231
+ embeddedEditTemplateRequest.showNavigationButtons = false;
1232
+ embeddedEditTemplateRequest.showPreviewButton = true;
1233
+ embeddedEditTemplateRequest.showSaveButton = false;
1234
+ embeddedEditTemplateRequest.showCreateButton = false;
1235
+ embeddedEditTemplateRequest.showTooltip = false;
1236
+ const invalidTemplateId = "INVALID_TEMPLATE_ID";
1237
+ try {
1238
+ const response = await templateApi.getEmbeddedTemplateEditUrl(invalidTemplateId, embeddedEditTemplateRequest);
1239
+ console.error("Unexpected success response:", response);
1240
+ throw new Error("Test failed, template edit URL should not have been retrieved with invalid template ID.");
1241
+ } catch (error: any) {
1242
+ console.log("Error occurred while calling the API:", error.message);
1243
+ expect(error.message).toBeDefined();
1244
+ }
1245
+ },20000);
1246
+ test('Test39:should create embedded template request URL with valid fields', async () => {
1247
+ const role = new Role();
1248
+ role.roleIndex = 1;
1249
+ role.signerName = "Manager";
1250
+ const embeddedSendTemplateFormRequest = new EmbeddedSendTemplateFormRequest();
1251
+ embeddedSendTemplateFormRequest.title = "Api template";
1252
+ embeddedSendTemplateFormRequest.roles = [role];
1253
+ embeddedSendTemplateFormRequest.showToolbar = true;
1254
+ embeddedSendTemplateFormRequest.showNavigationButtons = true;
1255
+ embeddedSendTemplateFormRequest.showPreviewButton = true;
1256
+ embeddedSendTemplateFormRequest.showSaveButton = true;
1257
+ embeddedSendTemplateFormRequest.locale = EmbeddedCreateTemplateRequest.LocaleEnum.En;
1258
+ embeddedSendTemplateFormRequest.showTooltip = false;
1259
+ embeddedSendTemplateFormRequest.sendViewOption = EmbeddedSendTemplateFormRequest.SendViewOptionEnum.FillingPage;
1260
+ const files = fs.createReadStream("tests/documents/agreement.pdf");
1261
+ embeddedSendTemplateFormRequest.files = [files];
1262
+ try {
1263
+ const response = await templateApi.createEmbeddedRequestUrlTemplate(createdTemplateId, embeddedSendTemplateFormRequest);
1264
+ console.log("Embedded Template URL:", response);
1265
+ expect(response).toBeDefined();
1266
+ } catch (error:any) {
1267
+ console.log('Error occurred while calling the API:', error.message);
1268
+ expect(error.message).toBeUndefined();
1269
+ }
1270
+ },20000);
1271
+ test('Test40:should list templates successfully', async () => {
1272
+ const page = 1;
1273
+ const pageSize = 10;
1274
+ try {
1275
+ const response = await templateApi.listTemplates(page, "all", pageSize);
1276
+ console.log("Templates listed successfully:", response);
1277
+ expect(response).toBeDefined();
1278
+ } catch (error:any) {
1279
+ console.error("Error occurred while calling the API:", error.message);
1280
+ expect(error.message).toBeUndefined;
1281
+ }
1282
+ },20000);
1283
+ test('Test41:should fail to list templates with invalid page and pageSize', async () => {
1284
+ const invalidPage = -1;
1285
+ const invalidPageSize = 1000;
1286
+ try {
1287
+ const listTemplateResponse = await templateApi.listTemplates(invalidPage, "all", invalidPageSize);
1288
+ console.error("Unexpected success response:", listTemplateResponse);
1289
+ throw new Error("Test failed, API call should not have succeeded with invalid page and pageSize.");
1290
+ } catch (error:any) {
1291
+ console.log("Error occurred while calling the API:", error.message);
1292
+ expect(error.message).toBeDefined();
1293
+ }
1294
+ },20000);
1295
+ test('Test42: should send document for signing using multiple templates', async () => {
1296
+ console.log(createdTemplateId1, createdTemplateId2, createdTemplateId3);
1297
+ const formField = new FormField();
1298
+ formField.fieldType = FormField.FieldTypeEnum.Signature;
1299
+ formField.pageNumber = 1;
1300
+ const bounds = new Rectangle();
1301
+ bounds.x = 100;
1302
+ bounds.y = 50;
1303
+ bounds.width = 100;
1304
+ bounds.height = 100;
1305
+ formField.bounds = bounds;
1306
+ const role = new Role();
1307
+ role.roleIndex = 2;
1308
+ role.signerName = "Divya";
1309
+ role.signerEmail = "divya.boopathy+9989@syncfusion.com";
1310
+ role.signerOrder = 1;
1311
+ role.signerType = Role.SignerTypeEnum.Signer;
1312
+ role.authenticationType = Role.AuthenticationTypeEnum.AccessCode;
1313
+ role.authenticationCode = '123456';
1314
+ role.authenticationSettings = {
1315
+ authenticationFrequency: AuthenticationSettings.AuthenticationFrequencyEnum.OncePerDocument
1316
+ };
1317
+ role.signerRole = "Manager";
1318
+ role.formFields = [formField];
1319
+ const mergeAndSendForsign = new MergeAndSendForSignForm();
1320
+ mergeAndSendForsign.title = "Invitation form";
1321
+ mergeAndSendForsign.message = "Kindly review and sign this.";
1322
+ mergeAndSendForsign.roles = [role];
1323
+ mergeAndSendForsign.templateIds = [createdTemplateId,createdTemplateId1];
1324
+ try {createdTemplateId2
1325
+ const response = await templateApi.mergeAndSend(mergeAndSendForsign);
1326
+ console.log("Document sent for signing using multiple templates successfully", response.body);
1327
+ expect(response).toBeDefined();
1328
+ } catch (error:any) {
1329
+ console.error('Error occurred while calling the API:', error.message);
1330
+ expect(error.message).toBeUndefined();
1331
+ }
1332
+ }, 20000);
1333
+ test('Test43:should create embedded request URL from merged templates', async () => {
1334
+ const role1 = new Role();
1335
+ role1.signerEmail = 'sivaramani.sivaraj@syncfusion.com';
1336
+ role1.signerName = 'sivaramani';
1337
+ role1.signerType = Role.SignerTypeEnum.Signer;
1338
+ role1.authenticationType = Role.AuthenticationTypeEnum.AccessCode;
1339
+ role1.authenticationCode = '123456';
1340
+ role1.authenticationSettings = {
1341
+ authenticationFrequency: AuthenticationSettings.AuthenticationFrequencyEnum.EveryAccess
1342
+ };
1343
+ role1.signerRole = 'Manager';
1344
+ role1.signerOrder = 1;
1345
+ role1.roleIndex = 1;
1346
+ const role2 = new Role();
1347
+ role2.signerEmail = 'david@gmail.com';
1348
+ role2.signerName = 'david';
1349
+ role2.signerType = Role.SignerTypeEnum.Signer;
1350
+ role2.signerRole = 'Team Lead';
1351
+ role2.signerOrder = 2;
1352
+ role2.roleIndex = 2;
1353
+ const fileStream = fs.createReadStream('tests/documents/agreement.pdf');
1354
+ const request = new EmbeddedMergeTemplateFormRequest();
1355
+ request.files = [fileStream];
1356
+ request.title = 'Merged Template Embedded Request';
1357
+ request.roles = [role1, role2];
1358
+ request.templateIds = [createdTemplateId, createdTemplateId1];
1359
+ try {
1360
+ const response = await templateApi.mergeCreateEmbeddedRequestUrlTemplate(request);
1361
+ expect(response).toBeDefined();
1362
+ expect(response.sendUrl).toBeDefined();
1363
+ console.log('Generated Embedded Send URL:', response.sendUrl);
1364
+ } catch (error: any) {
1365
+ console.error('API Exception occurred:', error.message || error);
1366
+ expect(error).toBeUndefined();
1367
+ }
1368
+ }, 20000);
1369
+ test('Test44: should fail to create embedded request URL from merged templates with invalid template IDs', async () => {
1370
+ const role1 = new Role();
1371
+ role1.signerEmail = 'sivaramani.sivaraj@syncfusion.com';
1372
+ role1.signerName = 'sivaramani';
1373
+ role1.signerType = Role.SignerTypeEnum.Signer;
1374
+ role1.signerRole = 'Manager';
1375
+ role1.signerOrder = 1;
1376
+ role1.roleIndex = 1;
1377
+ const role2 = new Role();
1378
+ role2.signerEmail = 'david@gmail.com';
1379
+ role2.signerName = 'david';
1380
+ role2.signerType = Role.SignerTypeEnum.Signer;
1381
+ role2.signerRole = 'Team Lead';
1382
+ role2.signerOrder = 2;
1383
+ role2.roleIndex = 2;
1384
+ const fileStream = fs.createReadStream('tests/documents/agreement.pdf');
1385
+ const request = new EmbeddedMergeTemplateFormRequest();
1386
+ request.files = [fileStream];
1387
+ request.title = 'Negative Test Case - Invalid Template IDs';
1388
+ request.roles = [role1, role2];
1389
+ request.templateIds = ['invalid-template-id-1', 'invalid-template-id-2'];
1390
+ try {
1391
+ const response = await templateApi.mergeCreateEmbeddedRequestUrlTemplate(request);
1392
+ console.error('Expected API to throw an error, but got response:', response);
1393
+ expect(true).toBe(false);
1394
+ } catch (error: any) {
1395
+ expect(error).toBeUndefined();
1396
+ expect(error.status).toBe(400);
1397
+ }
1398
+ }, 20000);
1399
+ test('Test45:should delete template successfully', async () => {
1400
+ try {
1401
+ const response = await templateApi.deleteTemplate(createdTemplateId);
1402
+ console.log("Template deleted successfully:", response);
1403
+ expect(response).toBeDefined();
1404
+ } catch (error:any) {
1405
+ console.error("Error occurred while calling the API:", error.message);
1406
+ expect(error.message).toBeUndefined();
1407
+ }
1408
+ },20000);
1409
+ test('Test46:should fail to delete template with invalid template ID', async () => {
1410
+ try {
1411
+ const invalidTemplateId = "INVALID_TEMPLATE_ID";
1412
+ const response = await templateApi.deleteTemplate(invalidTemplateId);
1413
+ console.error("Unexpected success response:", response);
1414
+ throw new Error("Test failed, template should not have been deleted with invalid template ID.");
1415
+ } catch (error:any) {
1416
+ console.error("Error occurred while calling the API:", error.message);
1417
+ expect(error.message).toBeDefined();
1418
+ }
1419
+ },20000);
1420
+ });