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.
- package/.openapi-generator/FILES +157 -156
- package/.openapi-generator/VERSION +1 -1
- package/.openapi-generator-ignore +23 -23
- package/LICENSE +21 -21
- package/README.md +307 -306
- package/api/apis.ts +163 -163
- package/api/brandingApi.ts +1193 -1183
- package/api/contactsApi.ts +772 -772
- package/api/customFieldApi.ts +817 -817
- package/api/documentApi.ts +2953 -2953
- package/api/identityVerificationApi.ts +586 -586
- package/api/index.ts +36 -36
- package/api/planApi.ts +274 -274
- package/api/senderIdentitiesApi.ts +898 -898
- package/api/teamsApi.ts +661 -661
- package/api/templateApi.ts +1915 -1915
- package/api/userApi.ts +968 -968
- package/api.ts +3 -3
- package/boldsign-2.0.0.tgz +0 -0
- package/dist/api/apis.d.ts +1 -1
- package/dist/api/apis.js +1 -1
- package/dist/api/brandingApi.d.ts +2 -2
- package/dist/api/brandingApi.js +10 -4
- package/dist/api/brandingApi.js.map +1 -1
- package/dist/model/auditTrail.d.ts +3 -1
- package/dist/model/auditTrail.js +2 -0
- package/dist/model/auditTrail.js.map +1 -1
- package/dist/model/collaborationSettings.d.ts +17 -0
- package/dist/model/collaborationSettings.js +33 -0
- package/dist/model/collaborationSettings.js.map +1 -0
- package/dist/model/createTemplateRequest.d.ts +1 -1
- package/dist/model/createTemplateRequest.js +5 -5
- package/dist/model/createTemplateRequest.js.map +1 -1
- package/dist/model/documentFiles.d.ts +1 -0
- package/dist/model/documentFiles.js +5 -0
- package/dist/model/documentFiles.js.map +1 -1
- package/dist/model/documentFormFields.d.ts +4 -0
- package/dist/model/documentFormFields.js +15 -0
- package/dist/model/documentFormFields.js.map +1 -1
- package/dist/model/documentSigner.d.ts +1 -0
- package/dist/model/documentSigner.js +5 -0
- package/dist/model/documentSigner.js.map +1 -1
- package/dist/model/documentSignerDetails.d.ts +1 -0
- package/dist/model/documentSignerDetails.js +5 -0
- package/dist/model/documentSignerDetails.js.map +1 -1
- package/dist/model/embeddedCreateTemplateRequest.d.ts +1 -1
- package/dist/model/embeddedCreateTemplateRequest.js +5 -5
- package/dist/model/embeddedCreateTemplateRequest.js.map +1 -1
- package/dist/model/embeddedDocumentRequest.d.ts +1 -1
- package/dist/model/embeddedDocumentRequest.js +5 -5
- package/dist/model/embeddedDocumentRequest.js.map +1 -1
- package/dist/model/embeddedMergeTemplateFormRequest.d.ts +1 -1
- package/dist/model/embeddedMergeTemplateFormRequest.js +5 -5
- package/dist/model/embeddedMergeTemplateFormRequest.js.map +1 -1
- package/dist/model/embeddedSendTemplateFormRequest.d.ts +1 -1
- package/dist/model/embeddedSendTemplateFormRequest.js +5 -5
- package/dist/model/embeddedSendTemplateFormRequest.js.map +1 -1
- package/dist/model/formField.d.ts +2 -0
- package/dist/model/formField.js +5 -0
- package/dist/model/formField.js.map +1 -1
- package/dist/model/index.d.ts +2 -1
- package/dist/model/index.js +6 -3
- package/dist/model/index.js.map +1 -1
- package/dist/model/mergeAndSendForSignForm.d.ts +1 -1
- package/dist/model/mergeAndSendForSignForm.js +5 -5
- package/dist/model/mergeAndSendForSignForm.js.map +1 -1
- package/dist/model/sendForSign.d.ts +1 -1
- package/dist/model/sendForSign.js +5 -5
- package/dist/model/sendForSign.js.map +1 -1
- package/dist/model/sendForSignFromTemplateForm.d.ts +1 -1
- package/dist/model/sendForSignFromTemplateForm.js +5 -5
- package/dist/model/sendForSignFromTemplateForm.js.map +1 -1
- package/dist/model/templateFormFields.d.ts +2 -0
- package/dist/model/templateFormFields.js +5 -0
- package/dist/model/templateFormFields.js.map +1 -1
- package/dist/model/textTagDefinition.d.ts +2 -0
- package/dist/model/textTagDefinition.js +5 -0
- package/dist/model/textTagDefinition.js.map +1 -1
- package/dist/model/viewBrandDetails.d.ts +1 -0
- package/dist/model/viewBrandDetails.js +5 -0
- package/dist/model/viewBrandDetails.js.map +1 -1
- package/dist/tests/config.d.ts +5 -0
- package/dist/tests/config.js +43 -0
- package/dist/tests/config.js.map +1 -0
- package/dist/tests/integration/BrandingApiTest.spec.d.ts +1 -0
- package/dist/tests/integration/BrandingApiTest.spec.js +310 -0
- package/dist/tests/integration/BrandingApiTest.spec.js.map +1 -0
- package/dist/tests/integration/ContactsApiTest.spec.d.ts +1 -0
- package/dist/tests/integration/ContactsApiTest.spec.js +249 -0
- package/dist/tests/integration/ContactsApiTest.spec.js.map +1 -0
- package/dist/tests/integration/CustomFieldApiTest.spec.d.ts +1 -0
- package/dist/tests/integration/CustomFieldApiTest.spec.js +289 -0
- package/dist/tests/integration/CustomFieldApiTest.spec.js.map +1 -0
- package/dist/tests/integration/DocumentApiTest.spec.d.ts +1 -0
- package/dist/tests/integration/DocumentApiTest.spec.js +1710 -0
- package/dist/tests/integration/DocumentApiTest.spec.js.map +1 -0
- package/dist/tests/integration/IdentityVerificationApiTest.spec.d.ts +1 -0
- package/dist/tests/integration/IdentityVerificationApiTest.spec.js +160 -0
- package/dist/tests/integration/IdentityVerificationApiTest.spec.js.map +1 -0
- package/dist/tests/integration/TemplateApiTest.spec.d.ts +1 -0
- package/dist/tests/integration/TemplateApiTest.spec.js +1518 -0
- package/dist/tests/integration/TemplateApiTest.spec.js.map +1 -0
- package/dist/tests/integration/planApiTest.spec.d.ts +1 -0
- package/dist/tests/integration/planApiTest.spec.js +41 -0
- package/dist/tests/integration/planApiTest.spec.js.map +1 -0
- package/dist/tests/integration/senderIdentity.spec.d.ts +1 -0
- package/dist/tests/integration/senderIdentity.spec.js +481 -0
- package/dist/tests/integration/senderIdentity.spec.js.map +1 -0
- package/dist/tests/integration/teamsApiTest.spec.d.ts +1 -0
- package/dist/tests/integration/teamsApiTest.spec.js +230 -0
- package/dist/tests/integration/teamsApiTest.spec.js.map +1 -0
- package/dist/tests/integration/usersApiTest.spec.d.ts +1 -0
- package/dist/tests/integration/usersApiTest.spec.js +290 -0
- package/dist/tests/integration/usersApiTest.spec.js.map +1 -0
- package/dist/tests/performance/performanceApiTest.spec.d.ts +1 -0
- package/dist/tests/performance/performanceApiTest.spec.js +368 -0
- package/dist/tests/performance/performanceApiTest.spec.js.map +1 -0
- package/dist/tests/unit/brandingApi.spec.d.ts +1 -0
- package/dist/tests/unit/brandingApi.spec.js +174 -0
- package/dist/tests/unit/brandingApi.spec.js.map +1 -0
- package/dist/tests/unit/contactsApi.spec.d.ts +1 -0
- package/dist/tests/unit/contactsApi.spec.js +154 -0
- package/dist/tests/unit/contactsApi.spec.js.map +1 -0
- package/dist/tests/unit/customFieldApi.spec.d.ts +1 -0
- package/dist/tests/unit/customFieldApi.spec.js +140 -0
- package/dist/tests/unit/customFieldApi.spec.js.map +1 -0
- package/dist/tests/unit/documentApi.spec.d.ts +1 -0
- package/dist/tests/unit/documentApi.spec.js +476 -0
- package/dist/tests/unit/documentApi.spec.js.map +1 -0
- package/dist/tests/unit/planApi.spec.d.ts +1 -0
- package/dist/tests/unit/planApi.spec.js +69 -0
- package/dist/tests/unit/planApi.spec.js.map +1 -0
- package/dist/tests/unit/senderIdentitiesApi.spec.d.ts +1 -0
- package/dist/tests/unit/senderIdentitiesApi.spec.js +148 -0
- package/dist/tests/unit/senderIdentitiesApi.spec.js.map +1 -0
- package/dist/tests/unit/teamApi.spec.d.ts +1 -0
- package/dist/tests/unit/teamApi.spec.js +116 -0
- package/dist/tests/unit/teamApi.spec.js.map +1 -0
- package/dist/tests/unit/templateApi.spec.d.ts +1 -0
- package/dist/tests/unit/templateApi.spec.js +285 -0
- package/dist/tests/unit/templateApi.spec.js.map +1 -0
- package/dist/tests/unit/userApi.spec.d.ts +1 -0
- package/dist/tests/unit/userApi.spec.js +163 -0
- package/dist/tests/unit/userApi.spec.js.map +1 -0
- package/docs/AccessCodeDetail.md +19 -19
- package/docs/AccessCodeDetails.md +13 -13
- package/docs/Added.md +13 -13
- package/docs/Address.md +16 -16
- package/docs/AttachmentInfo.md +14 -14
- package/docs/AuditTrail.md +21 -21
- package/docs/AuthenticationSettings.md +11 -11
- package/docs/Base64File.md +12 -12
- package/docs/BehalfDocument.md +27 -27
- package/docs/BehalfDocumentRecords.md +12 -12
- package/docs/BehalfOf.md +12 -12
- package/docs/BillingViewModel.md +11 -11
- package/docs/BrandCreated.md +11 -11
- package/docs/BrandCustomFieldDetails.md +16 -16
- package/docs/BrandingApi.md +260 -258
- package/docs/BrandingMessage.md +11 -11
- package/docs/BrandingRecords.md +11 -11
- package/docs/ChangeRecipient.md +18 -18
- package/docs/CollaborationSettings.md +14 -0
- package/docs/ConditionalRule.md +13 -13
- package/docs/ContactCreated.md +12 -12
- package/docs/ContactDetails.md +15 -15
- package/docs/ContactPageDetails.md +13 -13
- package/docs/ContactsApi.md +176 -176
- package/docs/ContactsDetails.md +16 -16
- package/docs/ContactsList.md +12 -12
- package/docs/CreateContactResponse.md +11 -11
- package/docs/CreateSenderIdentityRequest.md +16 -16
- package/docs/CreateTeamRequest.md +11 -11
- package/docs/CreateTemplateRequest.md +35 -35
- package/docs/CreateUser.md +14 -14
- package/docs/CustomDomainSettings.md +12 -12
- package/docs/CustomFieldApi.md +174 -174
- package/docs/CustomFieldCollection.md +11 -11
- package/docs/CustomFieldMessage.md +12 -12
- package/docs/CustomFormField.md +43 -43
- package/docs/Date.md +13 -13
- package/docs/DeleteCustomFieldReply.md +11 -11
- package/docs/Document.md +26 -26
- package/docs/DocumentApi.md +756 -756
- package/docs/DocumentCC.md +11 -11
- package/docs/DocumentCcDetails.md +12 -12
- package/docs/DocumentCreated.md +11 -11
- package/docs/DocumentExpirySettings.md +16 -16
- package/docs/DocumentFiles.md +14 -13
- package/docs/DocumentFormFields.md +52 -49
- package/docs/DocumentInfo.md +14 -14
- package/docs/DocumentProperties.md +50 -50
- package/docs/DocumentReassign.md +13 -13
- package/docs/DocumentRecords.md +12 -12
- package/docs/DocumentSenderDetail.md +14 -14
- package/docs/DocumentSigner.md +32 -31
- package/docs/DocumentSignerDetails.md +38 -37
- package/docs/DocumentTags.md +12 -12
- package/docs/DownloadImageRequest.md +16 -16
- package/docs/EditSenderIdentityRequest.md +14 -14
- package/docs/EditTemplateRequest.md +29 -29
- package/docs/EditableDateFieldSettings.md +13 -13
- package/docs/EmbeddedCreateTemplateRequest.md +46 -46
- package/docs/EmbeddedCustomFieldCreated.md +11 -11
- package/docs/EmbeddedDocumentRequest.md +55 -55
- package/docs/EmbeddedFileDetails.md +16 -16
- package/docs/EmbeddedFileLink.md +11 -11
- package/docs/EmbeddedMergeTemplateFormRequest.md +56 -56
- package/docs/EmbeddedSendCreated.md +12 -12
- package/docs/EmbeddedSendTemplateFormRequest.md +53 -53
- package/docs/EmbeddedSigningLink.md +11 -11
- package/docs/EmbeddedTemplateCreated.md +12 -12
- package/docs/EmbeddedTemplateEditRequest.md +21 -21
- package/docs/EmbeddedTemplateEdited.md +11 -11
- package/docs/Error.md +12 -12
- package/docs/ErrorResult.md +11 -11
- package/docs/ExistingFormField.md +15 -15
- package/docs/ExtendExpiry.md +14 -14
- package/docs/FileInfo.md +14 -14
- package/docs/Font.md +18 -18
- package/docs/FormField.md +51 -50
- package/docs/FormGroup.md +15 -15
- package/docs/FormulaFieldSettings.md +12 -12
- package/docs/IdDocument.md +21 -21
- package/docs/IdReport.md +14 -14
- package/docs/IdVerification.md +18 -18
- package/docs/IdentityVerificationApi.md +109 -109
- package/docs/IdentityVerificationSettings.md +16 -16
- package/docs/ImageInfo.md +13 -13
- package/docs/MergeAndSendForSignForm.md +46 -46
- package/docs/ModificationDetails.md +12 -12
- package/docs/NotificationSettings.md +22 -22
- package/docs/PageDetails.md +16 -16
- package/docs/PhoneNumber.md +12 -12
- package/docs/PlanApi.md +38 -38
- package/docs/PrefillField.md +12 -12
- package/docs/PrefillFieldRequest.md +12 -12
- package/docs/ProblemDetails.md +15 -15
- package/docs/RecipientChangeLog.md +12 -12
- package/docs/RecipientNotificationSettings.md +22 -22
- package/docs/Rectangle.md +14 -14
- package/docs/ReminderMessage.md +13 -13
- package/docs/ReminderSettings.md +13 -13
- package/docs/RemoveAuthentication.md +14 -14
- package/docs/Removed.md +13 -13
- package/docs/RevokeDocument.md +12 -12
- package/docs/Role.md +33 -33
- package/docs/Roles.md +33 -33
- package/docs/SendForSign.md +45 -45
- package/docs/SendForSignFromTemplateForm.md +43 -43
- package/docs/SenderIdentitiesApi.md +209 -209
- package/docs/SenderIdentityCreated.md +11 -11
- package/docs/SenderIdentityList.md +12 -12
- package/docs/SenderIdentityViewModel.md +19 -19
- package/docs/SignerAuthenticationSettings.md +12 -12
- package/docs/Size.md +12 -12
- package/docs/TeamCreated.md +11 -11
- package/docs/TeamDocumentRecords.md +12 -12
- package/docs/TeamListResponse.md +12 -12
- package/docs/TeamPageDetails.md +12 -12
- package/docs/TeamResponse.md +15 -15
- package/docs/TeamUpdateRequest.md +12 -12
- package/docs/TeamUsers.md +16 -16
- package/docs/Teams.md +14 -14
- package/docs/TeamsApi.md +141 -141
- package/docs/Template.md +29 -29
- package/docs/TemplateApi.md +484 -484
- package/docs/TemplateCC.md +12 -12
- package/docs/TemplateCreated.md +11 -11
- package/docs/TemplateFormFields.md +51 -50
- package/docs/TemplateProperties.md +37 -37
- package/docs/TemplateRecords.md +12 -12
- package/docs/TemplateRole.md +28 -28
- package/docs/TemplateSenderDetail.md +12 -12
- package/docs/TemplateSenderDetails.md +13 -13
- package/docs/TemplateSharedTemplateDetail.md +12 -12
- package/docs/TemplateSignerDetails.md +27 -27
- package/docs/TemplateTag.md +14 -14
- package/docs/TextTagDefinition.md +41 -40
- package/docs/TextTagOffset.md +12 -12
- package/docs/UpdateUser.md +14 -14
- package/docs/UpdateUserMetaData.md +12 -12
- package/docs/UserApi.md +240 -240
- package/docs/UserPageDetails.md +12 -12
- package/docs/UserProperties.md +21 -21
- package/docs/UserRecords.md +12 -12
- package/docs/UsersDetails.md +21 -21
- package/docs/Validation.md +13 -13
- package/docs/VerificationDataRequest.md +15 -15
- package/docs/ViewBrandDetails.md +35 -34
- package/docs/ViewCustomFieldDetails.md +17 -17
- package/examples/DocumentProperties.ts +14 -14
- package/examples/brandCreate.ts +28 -28
- package/examples/brandDelete.ts +14 -14
- package/examples/brandGet.ts +14 -14
- package/examples/brandList.ts +13 -13
- package/examples/brandResetDefault.ts +14 -14
- package/examples/brandUpdate.ts +20 -20
- package/examples/contactCreate.ts +25 -25
- package/examples/contactDelete.ts +14 -14
- package/examples/contactGet.ts +14 -14
- package/examples/contactList.ts +15 -15
- package/examples/contactUpdate.ts +25 -25
- package/examples/customFieldCreate.ts +27 -27
- package/examples/customFieldDelete.ts +14 -14
- package/examples/customFieldEdit.ts +29 -29
- package/examples/customFieldEmbeddedCreateUrl.ts +18 -18
- package/examples/customFieldList.ts +14 -14
- package/examples/documentAddAuthentication.ts +19 -19
- package/examples/documentAddTags.ts +18 -18
- package/examples/documentChangeAccessCode.ts +19 -19
- package/examples/documentChangeRecipients.ts +21 -21
- package/examples/documentDelete.ts +15 -15
- package/examples/documentDeleteTags.ts +18 -18
- package/examples/documentDownload.ts +15 -15
- package/examples/documentDownloadAttachment.ts +16 -16
- package/examples/documentDownloadAuditTrial.ts +15 -15
- package/examples/documentEmbeddedRequestLink.ts +48 -48
- package/examples/documentEmbeddedSignLink.ts +22 -22
- package/examples/documentExtendExpiry.ts +19 -19
- package/examples/documentList.ts +18 -18
- package/examples/documentListBehalf.ts +14 -14
- package/examples/documentListTeam.ts +14 -14
- package/examples/documentPrefillFieldCheckBox.ts +22 -22
- package/examples/documentPrefillFieldDropDown.ts +22 -22
- package/examples/documentPrefillFieldEditableDate.ts +22 -22
- package/examples/documentPrefillFieldImage.ts +22 -22
- package/examples/documentPrefillFieldRadioButton.ts +22 -22
- package/examples/documentPrefillFieldTextBox.ts +22 -22
- package/examples/documentRemoveAuthentication.ts +18 -18
- package/examples/documentRevoke.ts +18 -18
- package/examples/documentSend.ts +46 -46
- package/examples/documentSendOnBehalf.ts +52 -52
- package/examples/documentSendReminder.ts +19 -19
- package/examples/embeddedManualVerification.ts +22 -22
- package/examples/identityVerificationImage.ts +23 -23
- package/examples/identityVerificationReport.ts +21 -21
- package/examples/listTemplate.ts +15 -15
- package/examples/plan.ts +13 -13
- package/examples/senderIdentityCreate.ts +20 -20
- package/examples/senderIdentityDelete.ts +14 -14
- package/examples/senderIdentityList.ts +15 -15
- package/examples/senderIdentityRerequest.ts +14 -14
- package/examples/senderIdentityResendInvitation.ts +14 -14
- package/examples/senderIdentityUpdate.ts +19 -19
- package/examples/teamCreate.ts +17 -17
- package/examples/teamGet.ts +14 -14
- package/examples/teamList.ts +15 -15
- package/examples/teamUpdate.ts +18 -18
- package/examples/templateAddTag.ts +19 -19
- package/examples/templateCreate.ts +28 -28
- package/examples/templateDelete.ts +14 -14
- package/examples/templateDeleteTag.ts +19 -19
- package/examples/templateDetails.ts +14 -14
- package/examples/templateDownload.ts +14 -14
- package/examples/templateEdit.ts +21 -21
- package/examples/templateEmbeddedCreate.ts +28 -28
- package/examples/templateEmbeddedEdit.ts +23 -23
- package/examples/templateEmbeddedRequestLink.ts +33 -33
- package/examples/templateMergerEmbeddedRequestUrl.ts +36 -36
- package/examples/templateSendDocument.ts +59 -59
- package/examples/templateSendDocumentUsingMultipleTemplate.ts +39 -39
- package/examples/userCreate.ts +19 -19
- package/examples/userGet.ts +14 -14
- package/examples/userInvitationCancel.ts +14 -14
- package/examples/userList.ts +15 -15
- package/examples/userResendInvitation.ts +14 -14
- package/examples/userUpdateRole.ts +18 -18
- package/git_push.sh +57 -57
- package/model/accessCodeDetail.ts +91 -91
- package/model/accessCodeDetails.ts +44 -44
- package/model/added.ts +43 -43
- package/model/address.ts +61 -61
- package/model/attachmentInfo.ts +49 -49
- package/model/auditTrail.ts +177 -175
- package/model/authenticationSettings.ts +40 -40
- package/model/base64File.ts +37 -37
- package/model/behalfDocument.ts +142 -142
- package/model/behalfDocumentRecords.ts +39 -39
- package/model/behalfOf.ts +37 -37
- package/model/billingViewModel.ts +31 -31
- package/model/brandCreated.ts +31 -31
- package/model/brandCustomFieldDetails.ts +62 -62
- package/model/brandingMessage.ts +31 -31
- package/model/brandingRecords.ts +32 -32
- package/model/changeRecipient.ts +74 -74
- package/model/collaborationSettings.ts +49 -0
- package/model/conditionalRule.ts +43 -43
- package/model/contactCreated.ts +37 -37
- package/model/contactDetails.ts +56 -56
- package/model/contactPageDetails.ts +43 -43
- package/model/contactsDetails.ts +62 -62
- package/model/contactsList.ts +39 -39
- package/model/createContactResponse.ts +32 -32
- package/model/createSenderIdentityRequest.ts +62 -62
- package/model/createTeamRequest.ts +31 -31
- package/model/createTemplateRequest.ts +181 -181
- package/model/createUser.ts +56 -56
- package/model/customDomainSettings.ts +37 -37
- package/model/customFieldCollection.ts +32 -32
- package/model/customFieldMessage.ts +37 -37
- package/model/customFormField.ts +275 -275
- package/model/deleteCustomFieldReply.ts +31 -31
- package/model/document.ts +135 -135
- package/model/documentCC.ts +31 -31
- package/model/documentCcDetails.ts +37 -37
- package/model/documentCreated.ts +31 -31
- package/model/documentExpirySettings.ts +69 -69
- package/model/documentFiles.ts +49 -43
- package/model/documentFormFields.ts +311 -292
- package/model/documentInfo.ts +90 -90
- package/model/documentProperties.ts +316 -316
- package/model/documentReassign.ts +43 -43
- package/model/documentRecords.ts +39 -39
- package/model/documentSenderDetail.ts +49 -49
- package/model/documentSigner.ts +221 -215
- package/model/documentSignerDetails.ts +265 -259
- package/model/documentTags.ts +37 -37
- package/model/downloadImageRequest.ts +61 -61
- package/model/editSenderIdentityRequest.ts +50 -50
- package/model/editTemplateRequest.ts +144 -144
- package/model/editableDateFieldSettings.ts +43 -43
- package/model/embeddedCreateTemplateRequest.ts +271 -271
- package/model/embeddedCustomFieldCreated.ts +31 -31
- package/model/embeddedDocumentRequest.ts +337 -337
- package/model/embeddedFileDetails.ts +61 -61
- package/model/embeddedFileLink.ts +31 -31
- package/model/embeddedMergeTemplateFormRequest.ts +343 -343
- package/model/embeddedSendCreated.ts +37 -37
- package/model/embeddedSendTemplateFormRequest.ts +324 -324
- package/model/embeddedSigningLink.ts +31 -31
- package/model/embeddedTemplateCreated.ts +37 -37
- package/model/embeddedTemplateEditRequest.ts +115 -115
- package/model/embeddedTemplateEdited.ts +31 -31
- package/model/errorResult.ts +31 -31
- package/model/existingFormField.ts +55 -55
- package/model/extendExpiry.ts +49 -49
- package/model/fileInfo.ts +49 -49
- package/model/font.ts +89 -89
- package/model/formField.ts +327 -320
- package/model/formGroup.ts +63 -63
- package/model/formulaFieldSettings.ts +37 -37
- package/model/idDocument.ts +93 -93
- package/model/idReport.ts +50 -50
- package/model/idVerification.ts +73 -73
- package/model/identityVerificationSettings.ts +75 -75
- package/model/imageInfo.ts +43 -43
- package/model/index.ts +546 -543
- package/model/mergeAndSendForSignForm.ts +261 -261
- package/model/modelDate.ts +43 -43
- package/model/modelError.ts +37 -37
- package/model/models.ts +244 -244
- package/model/modificationDetails.ts +37 -37
- package/model/notificationSettings.ts +97 -97
- package/model/pageDetails.ts +61 -61
- package/model/phoneNumber.ts +37 -37
- package/model/prefillField.ts +37 -37
- package/model/prefillFieldRequest.ts +38 -38
- package/model/problemDetails.ts +55 -55
- package/model/recipientChangeLog.ts +39 -39
- package/model/recipientNotificationSettings.ts +97 -97
- package/model/rectangle.ts +49 -49
- package/model/reminderMessage.ts +44 -44
- package/model/reminderSettings.ts +43 -43
- package/model/removeAuthentication.ts +50 -50
- package/model/removed.ts +43 -43
- package/model/revokeDocument.ts +37 -37
- package/model/role.ts +229 -229
- package/model/roles.ts +225 -225
- package/model/sendForSign.ts +255 -255
- package/model/sendForSignFromTemplateForm.ts +242 -242
- package/model/senderIdentityCreated.ts +31 -31
- package/model/senderIdentityList.ts +39 -39
- package/model/senderIdentityViewModel.ts +80 -80
- package/model/signerAuthenticationSettings.ts +37 -37
- package/model/size.ts +37 -37
- package/model/teamCreated.ts +31 -31
- package/model/teamDocumentRecords.ts +39 -39
- package/model/teamListResponse.ts +39 -39
- package/model/teamPageDetails.ts +37 -37
- package/model/teamResponse.ts +56 -56
- package/model/teamUpdateRequest.ts +37 -37
- package/model/teamUsers.ts +73 -73
- package/model/teams.ts +49 -49
- package/model/template.ts +159 -159
- package/model/templateCC.ts +37 -37
- package/model/templateCreated.ts +31 -31
- package/model/templateFormFields.ts +304 -297
- package/model/templateProperties.ts +202 -202
- package/model/templateRecords.ts +39 -39
- package/model/templateRole.ts +195 -195
- package/model/templateSenderDetail.ts +37 -37
- package/model/templateSenderDetails.ts +43 -43
- package/model/templateSharedTemplateDetail.ts +43 -43
- package/model/templateSignerDetails.ts +160 -160
- package/model/templateTag.ts +49 -49
- package/model/textTagDefinition.ts +255 -248
- package/model/textTagOffset.ts +37 -37
- package/model/updateUser.ts +60 -60
- package/model/updateUserMetaData.ts +37 -37
- package/model/userPageDetails.ts +37 -37
- package/model/userProperties.ts +91 -91
- package/model/userRecords.ts +39 -39
- package/model/usersDetails.ts +91 -91
- package/model/validation.ts +52 -52
- package/model/verificationDataRequest.ts +55 -55
- package/model/viewBrandDetails.ts +183 -177
- package/model/viewCustomFieldDetails.ts +68 -68
- package/package.json +52 -52
- package/tests/config.ts +20 -0
- package/tests/documents/agreement.pdf +0 -0
- package/tests/documents/logo.jpg +0 -0
- package/tests/integration/BrandingApiTest.spec.ts +254 -0
- package/tests/integration/ContactsApiTest.spec.ts +222 -0
- package/tests/integration/CustomFieldApiTest.spec.ts +231 -0
- package/tests/integration/DocumentApiTest.spec.ts +1624 -0
- package/tests/integration/IdentityVerificationApiTest.spec.ts +114 -0
- package/tests/integration/TemplateApiTest.spec.ts +1420 -0
- package/tests/integration/planApiTest.spec.ts +26 -0
- package/tests/integration/senderIdentity.spec.ts +397 -0
- package/tests/integration/teamsApiTest.spec.ts +226 -0
- package/tests/integration/usersApiTest.spec.ts +251 -0
- package/tests/performance/performanceApiTest.spec.ts +362 -0
- package/tests/unit/brandingApi.spec.ts +163 -0
- package/tests/unit/contactsApi.spec.ts +143 -0
- package/tests/unit/customFieldApi.spec.ts +123 -0
- package/tests/unit/documentApi.spec.ts +545 -0
- package/tests/unit/planApi.spec.ts +34 -0
- package/tests/unit/senderIdentitiesApi.spec.ts +148 -0
- package/tests/unit/teamApi.spec.ts +94 -0
- package/tests/unit/templateApi.spec.ts +307 -0
- package/tests/unit/userApi.spec.ts +162 -0
- package/tsconfig.json +24 -24
|
@@ -0,0 +1,545 @@
|
|
|
1
|
+
import { DocumentApi } from '../../api/documentApi';
|
|
2
|
+
import * as sinon from 'sinon';
|
|
3
|
+
|
|
4
|
+
describe('DocumentApi Unit Test', () => {
|
|
5
|
+
let documentApiStub: sinon.SinonStubbedInstance<DocumentApi> & {
|
|
6
|
+
sendDocumentFromTemplate: sinon.SinonStub;
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
beforeEach(() => {
|
|
10
|
+
documentApiStub = {
|
|
11
|
+
...sinon.createStubInstance(DocumentApi),
|
|
12
|
+
sendDocumentFromTemplate: sinon.stub()
|
|
13
|
+
};
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
afterEach(() => {
|
|
17
|
+
sinon.restore();
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
it('should mock and verify sendDocument call with full SendForSign data', async () => {
|
|
21
|
+
const sendForSignData = {
|
|
22
|
+
document_id: "12345",
|
|
23
|
+
title: "Sample Document",
|
|
24
|
+
message: "Please sign this document.",
|
|
25
|
+
roles: [],
|
|
26
|
+
brand_id: "brand123",
|
|
27
|
+
labels: ["label1", "label2"],
|
|
28
|
+
disable_emails: false,
|
|
29
|
+
disable_sms: false,
|
|
30
|
+
hide_document_id: false,
|
|
31
|
+
expiry_days: 30,
|
|
32
|
+
expiry_date_type: "Days",
|
|
33
|
+
expiry_value: 60,
|
|
34
|
+
enable_print_and_sign: true,
|
|
35
|
+
enable_reassign: true,
|
|
36
|
+
enable_signing_order: true,
|
|
37
|
+
use_text_tags: false,
|
|
38
|
+
text_tag_definitions: [],
|
|
39
|
+
document_info: [],
|
|
40
|
+
on_behalf_of: null,
|
|
41
|
+
is_sandbox: false,
|
|
42
|
+
role_removal_indices: [],
|
|
43
|
+
document_download_option: "Combined",
|
|
44
|
+
recipient_notification_settings: null,
|
|
45
|
+
signers: [
|
|
46
|
+
{
|
|
47
|
+
name: "John Doe",
|
|
48
|
+
email: "john.doe@example.com"
|
|
49
|
+
}
|
|
50
|
+
]
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
const mockSendResponse = {
|
|
54
|
+
documentId: "12345",
|
|
55
|
+
status: "sent",
|
|
56
|
+
message: "Document has been sent successfully."
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
documentApiStub.sendDocument.resolves(mockSendResponse);
|
|
60
|
+
|
|
61
|
+
const result = await documentApiStub.sendDocument(sendForSignData);
|
|
62
|
+
|
|
63
|
+
expect(result).toBeDefined();
|
|
64
|
+
expect(result.documentId).toBe("12345");
|
|
65
|
+
expect(result.status).toBe("sent");
|
|
66
|
+
expect(result.message).toBe("Document has been sent successfully.");
|
|
67
|
+
|
|
68
|
+
sinon.assert.calledOnceWithExactly(documentApiStub.sendDocument, sendForSignData);
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
it('should mock and verify sendDocumentFromTemplate call', async () => {
|
|
72
|
+
const templateId = 'template789';
|
|
73
|
+
const sendFromTemplateData = {
|
|
74
|
+
title: 'Template Based Document',
|
|
75
|
+
message: 'Please sign this document generated from a template.',
|
|
76
|
+
roles: [
|
|
77
|
+
{
|
|
78
|
+
role: 'Signer',
|
|
79
|
+
name: 'Alice Smith',
|
|
80
|
+
email: 'alice.smith@example.com'
|
|
81
|
+
}
|
|
82
|
+
],
|
|
83
|
+
brand_id: 'brand123',
|
|
84
|
+
labels: ['template-doc'],
|
|
85
|
+
disable_emails: false,
|
|
86
|
+
disable_sms: false,
|
|
87
|
+
hide_document_id: false,
|
|
88
|
+
expiry_days: 15,
|
|
89
|
+
expiry_date_type: 'Days',
|
|
90
|
+
expiry_value: 15,
|
|
91
|
+
enable_print_and_sign: false,
|
|
92
|
+
enable_reassign: true,
|
|
93
|
+
enable_signing_order: false,
|
|
94
|
+
use_text_tags: false,
|
|
95
|
+
text_tag_definitions: [],
|
|
96
|
+
on_behalf_of: null,
|
|
97
|
+
is_sandbox: false,
|
|
98
|
+
document_download_option: 'Combined',
|
|
99
|
+
recipient_notification_settings: null
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
const mockSendFromTemplateResponse = {
|
|
103
|
+
documentId: 'generatedDocFromTemplate',
|
|
104
|
+
status: 'sent',
|
|
105
|
+
message: 'Document from template has been sent successfully.'
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
documentApiStub.sendDocumentFromTemplate.resolves(mockSendFromTemplateResponse);
|
|
109
|
+
|
|
110
|
+
const result = await documentApiStub.sendDocumentFromTemplate(templateId, sendFromTemplateData);
|
|
111
|
+
|
|
112
|
+
expect(result).toBeDefined();
|
|
113
|
+
expect(result.documentId).toBe('generatedDocFromTemplate');
|
|
114
|
+
expect(result.status).toBe('sent');
|
|
115
|
+
expect(result.message).toBe('Document from template has been sent successfully.');
|
|
116
|
+
|
|
117
|
+
sinon.assert.calledOnceWithExactly(documentApiStub.sendDocumentFromTemplate, templateId, sendFromTemplateData);
|
|
118
|
+
});
|
|
119
|
+
|
|
120
|
+
it('should mock and verify listDocuments call', async () => {
|
|
121
|
+
const mockListResponse = {
|
|
122
|
+
documents: [
|
|
123
|
+
{
|
|
124
|
+
documentId: 'doc1',
|
|
125
|
+
title: 'Document 1',
|
|
126
|
+
status: 'sent',
|
|
127
|
+
createdAt: '2025-05-18T10:00:00Z',
|
|
128
|
+
sender: 'sender@example.com',
|
|
129
|
+
recipient: 'recipient@example.com',
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
documentId: 'doc2',
|
|
133
|
+
title: 'Document 2',
|
|
134
|
+
status: 'signed',
|
|
135
|
+
createdAt: '2025-05-19T11:00:00Z',
|
|
136
|
+
sender: 'sender@example.com',
|
|
137
|
+
recipient: 'recipient@example.com',
|
|
138
|
+
},
|
|
139
|
+
],
|
|
140
|
+
totalCount: 2,
|
|
141
|
+
pageSize: 10,
|
|
142
|
+
currentPage: 1,
|
|
143
|
+
};
|
|
144
|
+
|
|
145
|
+
documentApiStub.listDocuments.resolves(mockListResponse);
|
|
146
|
+
|
|
147
|
+
const result = await documentApiStub.listDocuments({ page: 1, pageSize: 10 });
|
|
148
|
+
|
|
149
|
+
expect(result).toBeDefined();
|
|
150
|
+
expect(result.documents.length).toBe(2);
|
|
151
|
+
expect(result.documents[0].documentId).toBe('doc1');
|
|
152
|
+
expect(result.documents[1].status).toBe('signed');
|
|
153
|
+
expect(result.totalCount).toBe(2);
|
|
154
|
+
|
|
155
|
+
sinon.assert.calledOnceWithExactly(documentApiStub.listDocuments, { page: 1, pageSize: 10 });
|
|
156
|
+
});
|
|
157
|
+
|
|
158
|
+
it('should mock and verify downloadDocument call', async () => {
|
|
159
|
+
const documentId = 'doc123';
|
|
160
|
+
|
|
161
|
+
const mockDownloadResponse = Buffer.from('PDF file content');
|
|
162
|
+
|
|
163
|
+
documentApiStub.downloadDocument = sinon.stub().resolves(mockDownloadResponse);
|
|
164
|
+
|
|
165
|
+
const result = await documentApiStub.downloadDocument(documentId);
|
|
166
|
+
|
|
167
|
+
expect(result).toBeDefined();
|
|
168
|
+
expect(result).toBeInstanceOf(Buffer);
|
|
169
|
+
expect(result.toString()).toBe('PDF file content');
|
|
170
|
+
|
|
171
|
+
sinon.assert.calledOnceWithExactly(documentApiStub.downloadDocument, documentId);
|
|
172
|
+
});
|
|
173
|
+
|
|
174
|
+
it('should mock and verify sendReminder call', async () => {
|
|
175
|
+
const documentId = 'doc123';
|
|
176
|
+
const reminderData = {
|
|
177
|
+
message: 'Reminder to sign the document.',
|
|
178
|
+
recipients: ['john.doe@example.com'],
|
|
179
|
+
};
|
|
180
|
+
|
|
181
|
+
const mockReminderResponse = {
|
|
182
|
+
success: true,
|
|
183
|
+
message: 'Reminder sent successfully.',
|
|
184
|
+
documentId: 'doc123',
|
|
185
|
+
};
|
|
186
|
+
|
|
187
|
+
documentApiStub.sendReminder = sinon.stub().resolves(mockReminderResponse);
|
|
188
|
+
|
|
189
|
+
const result = await documentApiStub.sendReminder(documentId, reminderData);
|
|
190
|
+
|
|
191
|
+
expect(result).toBeDefined();
|
|
192
|
+
expect(result.success).toBe(true);
|
|
193
|
+
expect(result.message).toBe('Reminder sent successfully.');
|
|
194
|
+
expect(result.documentId).toBe(documentId);
|
|
195
|
+
|
|
196
|
+
sinon.assert.calledOnceWithExactly(documentApiStub.sendReminder, documentId, reminderData);
|
|
197
|
+
});
|
|
198
|
+
|
|
199
|
+
it('should mock and verify revokeDocument call', async () => {
|
|
200
|
+
const documentId = 'doc123';
|
|
201
|
+
const revokeData = {
|
|
202
|
+
reason: 'Document contains incorrect information.'
|
|
203
|
+
};
|
|
204
|
+
|
|
205
|
+
const mockRevokeResponse = {
|
|
206
|
+
success: true,
|
|
207
|
+
message: 'Document has been revoked successfully.',
|
|
208
|
+
documentId: 'doc123'
|
|
209
|
+
};
|
|
210
|
+
|
|
211
|
+
documentApiStub.revokeDocument = sinon.stub().resolves(mockRevokeResponse);
|
|
212
|
+
|
|
213
|
+
const result = await documentApiStub.revokeDocument(documentId, revokeData);
|
|
214
|
+
|
|
215
|
+
expect(result).toBeDefined();
|
|
216
|
+
expect(result.success).toBe(true);
|
|
217
|
+
expect(result.message).toBe('Document has been revoked successfully.');
|
|
218
|
+
expect(result.documentId).toBe(documentId);
|
|
219
|
+
|
|
220
|
+
sinon.assert.calledOnceWithExactly(documentApiStub.revokeDocument, documentId, revokeData);
|
|
221
|
+
});
|
|
222
|
+
|
|
223
|
+
it('should mock and verify addDocumentTag call', async () => {
|
|
224
|
+
const documentId = 'doc123';
|
|
225
|
+
const tagData = {
|
|
226
|
+
tags: ['urgent', 'review']
|
|
227
|
+
};
|
|
228
|
+
|
|
229
|
+
const mockAddTagResponse = {
|
|
230
|
+
success: true,
|
|
231
|
+
message: 'Tags added to document successfully.',
|
|
232
|
+
documentId: 'doc123',
|
|
233
|
+
tags: ['urgent', 'review']
|
|
234
|
+
};
|
|
235
|
+
|
|
236
|
+
documentApiStub.addDocumentTag = sinon.stub().resolves(mockAddTagResponse);
|
|
237
|
+
|
|
238
|
+
const result = await documentApiStub.addDocumentTag(documentId, tagData);
|
|
239
|
+
|
|
240
|
+
expect(result).toBeDefined();
|
|
241
|
+
expect(result.success).toBe(true);
|
|
242
|
+
expect(result.message).toBe('Tags added to document successfully.');
|
|
243
|
+
expect(result.documentId).toBe(documentId);
|
|
244
|
+
expect(result.tags).toEqual(['urgent', 'review']);
|
|
245
|
+
|
|
246
|
+
sinon.assert.calledOnceWithExactly(documentApiStub.addDocumentTag, documentId, tagData);
|
|
247
|
+
});
|
|
248
|
+
|
|
249
|
+
it('should mock and verify deleteDocumentTag call', async () => {
|
|
250
|
+
const documentId = 'doc123';
|
|
251
|
+
const tagData = {
|
|
252
|
+
tags: ['urgent', 'review']
|
|
253
|
+
};
|
|
254
|
+
|
|
255
|
+
const mockDeleteTagResponse = {
|
|
256
|
+
success: true,
|
|
257
|
+
message: 'Tags deleted from document successfully.',
|
|
258
|
+
documentId: 'doc123',
|
|
259
|
+
tags: []
|
|
260
|
+
};
|
|
261
|
+
|
|
262
|
+
documentApiStub.deleteDocumentTag = sinon.stub().resolves(mockDeleteTagResponse);
|
|
263
|
+
|
|
264
|
+
const result = await documentApiStub.deleteDocumentTag(documentId, tagData);
|
|
265
|
+
|
|
266
|
+
expect(result).toBeDefined();
|
|
267
|
+
expect(result.success).toBe(true);
|
|
268
|
+
expect(result.message).toBe('Tags deleted from document successfully.');
|
|
269
|
+
expect(result.documentId).toBe(documentId);
|
|
270
|
+
expect(result.tags).toEqual([]);
|
|
271
|
+
|
|
272
|
+
sinon.assert.calledOnceWithExactly(documentApiStub.deleteDocumentTag, documentId, tagData);
|
|
273
|
+
});
|
|
274
|
+
|
|
275
|
+
it('should mock and verify prefillFormFields call', async () => {
|
|
276
|
+
const documentId = 'doc123';
|
|
277
|
+
const formData = {
|
|
278
|
+
title: 'Sample Document',
|
|
279
|
+
message: 'Please review and sign this document.',
|
|
280
|
+
formFields: {
|
|
281
|
+
'FirstName': 'John',
|
|
282
|
+
'LastName': 'Doe',
|
|
283
|
+
'Email': 'john.doe@example.com',
|
|
284
|
+
'Phone': '123-456-7890'
|
|
285
|
+
},
|
|
286
|
+
signers: [
|
|
287
|
+
{
|
|
288
|
+
name: 'John Doe',
|
|
289
|
+
email: 'john.doe@example.com',
|
|
290
|
+
role: 'Signer'
|
|
291
|
+
}
|
|
292
|
+
]
|
|
293
|
+
};
|
|
294
|
+
|
|
295
|
+
const mockPrefillResponse = {
|
|
296
|
+
documentId: 'doc123',
|
|
297
|
+
status: 'prefilled',
|
|
298
|
+
message: 'Document fields have been prefilled successfully.',
|
|
299
|
+
prefilledFields: formData.formFields
|
|
300
|
+
};
|
|
301
|
+
|
|
302
|
+
documentApiStub.prefillFormFields = sinon.stub().resolves(mockPrefillResponse);
|
|
303
|
+
|
|
304
|
+
const result = await documentApiStub.prefillFormFields(documentId, formData);
|
|
305
|
+
|
|
306
|
+
expect(result).toBeDefined();
|
|
307
|
+
expect(result.documentId).toBe('doc123');
|
|
308
|
+
expect(result.status).toBe('prefilled');
|
|
309
|
+
expect(result.message).toBe('Document fields have been prefilled successfully.');
|
|
310
|
+
expect(result.prefilledFields).toEqual(formData.formFields);
|
|
311
|
+
|
|
312
|
+
sinon.assert.calledOnceWithExactly(documentApiStub.prefillFormFields, documentId, formData);
|
|
313
|
+
});
|
|
314
|
+
|
|
315
|
+
it('should mock and verify downloadAuditLog call', async () => {
|
|
316
|
+
const documentId = 'doc123';
|
|
317
|
+
const mockAuditLogResponse = {
|
|
318
|
+
documentId: 'doc123',
|
|
319
|
+
status: 'downloaded',
|
|
320
|
+
message: 'Audit log has been downloaded successfully.',
|
|
321
|
+
auditLogUrl: 'https://example.com/audit/logs/doc123-audit-log.pdf'
|
|
322
|
+
};
|
|
323
|
+
|
|
324
|
+
documentApiStub.downloadAuditLog = sinon.stub().resolves(mockAuditLogResponse);
|
|
325
|
+
|
|
326
|
+
const result = await documentApiStub.downloadAuditLog(documentId);
|
|
327
|
+
|
|
328
|
+
expect(result).toBeDefined();
|
|
329
|
+
expect(result.documentId).toBe('doc123');
|
|
330
|
+
expect(result.status).toBe('downloaded');
|
|
331
|
+
expect(result.message).toBe('Audit log has been downloaded successfully.');
|
|
332
|
+
expect(result.auditLogUrl).toBe('https://example.com/audit/logs/doc123-audit-log.pdf');
|
|
333
|
+
|
|
334
|
+
sinon.assert.calledOnceWithExactly(documentApiStub.downloadAuditLog, documentId);
|
|
335
|
+
});
|
|
336
|
+
|
|
337
|
+
it('should mock and verify changeAccessCode call', async () => {
|
|
338
|
+
const documentId = 'doc123';
|
|
339
|
+
const newAccessCode = 'newAccessCode123';
|
|
340
|
+
const mockChangeAccessCodeResponse = {
|
|
341
|
+
documentId: 'doc123',
|
|
342
|
+
status: 'access code updated',
|
|
343
|
+
message: 'The access code has been successfully changed.',
|
|
344
|
+
newAccessCode: 'newAccessCode123'
|
|
345
|
+
};
|
|
346
|
+
|
|
347
|
+
documentApiStub.changeAccessCode = sinon.stub().resolves(mockChangeAccessCodeResponse);
|
|
348
|
+
|
|
349
|
+
const result = await documentApiStub.changeAccessCode(documentId, newAccessCode);
|
|
350
|
+
|
|
351
|
+
expect(result).toBeDefined();
|
|
352
|
+
expect(result.documentId).toBe('doc123');
|
|
353
|
+
expect(result.status).toBe('access code updated');
|
|
354
|
+
expect(result.message).toBe('The access code has been successfully changed.');
|
|
355
|
+
expect(result.newAccessCode).toBe('newAccessCode123');
|
|
356
|
+
|
|
357
|
+
sinon.assert.calledOnceWithExactly(documentApiStub.changeAccessCode, documentId, newAccessCode);
|
|
358
|
+
});
|
|
359
|
+
|
|
360
|
+
it('should mock and verify changeRecipients call', async () => {
|
|
361
|
+
const documentId = 'doc123';
|
|
362
|
+
const newRecipients = [
|
|
363
|
+
{ name: 'Alice Doe', email: 'alice.doe@example.com' },
|
|
364
|
+
{ name: 'Bob Smith', email: 'bob.smith@example.com' }
|
|
365
|
+
];
|
|
366
|
+
|
|
367
|
+
const mockChangeRecipientsResponse = {
|
|
368
|
+
documentId: 'doc123',
|
|
369
|
+
status: 'recipients updated',
|
|
370
|
+
message: 'Recipients have been successfully updated.',
|
|
371
|
+
recipients: newRecipients
|
|
372
|
+
};
|
|
373
|
+
|
|
374
|
+
documentApiStub.changeRecipients = sinon.stub().resolves(mockChangeRecipientsResponse);
|
|
375
|
+
|
|
376
|
+
const result = await documentApiStub.changeRecipients(documentId, newRecipients);
|
|
377
|
+
|
|
378
|
+
expect(result).toBeDefined();
|
|
379
|
+
expect(result.documentId).toBe('doc123');
|
|
380
|
+
expect(result.status).toBe('recipients updated');
|
|
381
|
+
expect(result.message).toBe('Recipients have been successfully updated.');
|
|
382
|
+
expect(result.recipients).toEqual(newRecipients);
|
|
383
|
+
|
|
384
|
+
sinon.assert.calledOnceWithExactly(documentApiStub.changeRecipients, documentId, newRecipients);
|
|
385
|
+
});
|
|
386
|
+
|
|
387
|
+
it('should mock and verify getEmbeddedSigningLink call', async () => {
|
|
388
|
+
const documentId = 'doc123';
|
|
389
|
+
const signerId = 'signer123';
|
|
390
|
+
|
|
391
|
+
const mockEmbeddedSigningLinkResponse = {
|
|
392
|
+
documentId: 'doc123',
|
|
393
|
+
signerId: 'signer123',
|
|
394
|
+
embeddedSignUrl: 'https://signing-platform.com/embed/sign/document/12345'
|
|
395
|
+
};
|
|
396
|
+
|
|
397
|
+
documentApiStub.getEmbeddedSigningLink = sinon.stub().resolves(mockEmbeddedSigningLinkResponse);
|
|
398
|
+
|
|
399
|
+
const result = await documentApiStub.getEmbeddedSigningLink(documentId, signerId);
|
|
400
|
+
|
|
401
|
+
expect(result).toBeDefined();
|
|
402
|
+
expect(result.documentId).toBe('doc123');
|
|
403
|
+
expect(result.signerId).toBe('signer123');
|
|
404
|
+
expect(result.embeddedSignUrl).toBe('https://signing-platform.com/embed/sign/document/12345');
|
|
405
|
+
|
|
406
|
+
sinon.assert.calledOnceWithExactly(documentApiStub.getEmbeddedSigningLink, documentId, signerId);
|
|
407
|
+
});
|
|
408
|
+
|
|
409
|
+
it('should mock and verify addAuthentication call', async () => {
|
|
410
|
+
const documentId = 'doc123';
|
|
411
|
+
const authenticationData = {
|
|
412
|
+
authenticationMethod: 'password',
|
|
413
|
+
password: 'securePassword123',
|
|
414
|
+
enableMFA: true,
|
|
415
|
+
mfaMethod: 'sms',
|
|
416
|
+
};
|
|
417
|
+
|
|
418
|
+
const mockAuthenticationResponse = {
|
|
419
|
+
documentId: 'doc123',
|
|
420
|
+
status: 'authentication_added',
|
|
421
|
+
message: 'Authentication method added successfully.'
|
|
422
|
+
};
|
|
423
|
+
|
|
424
|
+
documentApiStub.addAuthentication.resolves(mockAuthenticationResponse);
|
|
425
|
+
|
|
426
|
+
const result = await documentApiStub.addAuthentication(documentId, authenticationData);
|
|
427
|
+
|
|
428
|
+
expect(result).toBeDefined();
|
|
429
|
+
expect(result.documentId).toBe('doc123');
|
|
430
|
+
expect(result.status).toBe('authentication_added');
|
|
431
|
+
expect(result.message).toBe('Authentication method added successfully.');
|
|
432
|
+
|
|
433
|
+
sinon.assert.calledOnceWithExactly(documentApiStub.addAuthentication, documentId, authenticationData);
|
|
434
|
+
});
|
|
435
|
+
|
|
436
|
+
it('should mock and verify removeAuthentication call', async () => {
|
|
437
|
+
const documentId = 'doc123';
|
|
438
|
+
|
|
439
|
+
const mockRemoveAuthResponse = {
|
|
440
|
+
documentId: 'doc123',
|
|
441
|
+
status: 'authentication_removed',
|
|
442
|
+
message: 'Authentication method removed successfully.'
|
|
443
|
+
};
|
|
444
|
+
|
|
445
|
+
documentApiStub.removeAuthentication.resolves(mockRemoveAuthResponse);
|
|
446
|
+
|
|
447
|
+
const result = await documentApiStub.removeAuthentication(documentId);
|
|
448
|
+
|
|
449
|
+
expect(result).toBeDefined();
|
|
450
|
+
expect(result.documentId).toBe('doc123');
|
|
451
|
+
expect(result.status).toBe('authentication_removed');
|
|
452
|
+
expect(result.message).toBe('Authentication method removed successfully.');
|
|
453
|
+
|
|
454
|
+
sinon.assert.calledOnceWithExactly(documentApiStub.removeAuthentication, documentId);
|
|
455
|
+
});
|
|
456
|
+
|
|
457
|
+
|
|
458
|
+
it('should mock and verify extendDocumentExpiry call', async () => {
|
|
459
|
+
const documentId = 'doc123';
|
|
460
|
+
const newExpiryDate = '2025-06-01';
|
|
461
|
+
|
|
462
|
+
const mockExtendExpiryResponse = {
|
|
463
|
+
documentId: 'doc123',
|
|
464
|
+
status: 'expiry_extended',
|
|
465
|
+
newExpiryDate: newExpiryDate,
|
|
466
|
+
message: 'Document expiry extended successfully.'
|
|
467
|
+
};
|
|
468
|
+
|
|
469
|
+
documentApiStub.extendDocumentExpiry = sinon.stub().resolves(mockExtendExpiryResponse);
|
|
470
|
+
|
|
471
|
+
const result = await documentApiStub.extendDocumentExpiry(documentId, newExpiryDate);
|
|
472
|
+
|
|
473
|
+
expect(result).toBeDefined();
|
|
474
|
+
expect(result.documentId).toBe('doc123');
|
|
475
|
+
expect(result.status).toBe('expiry_extended');
|
|
476
|
+
expect(result.newExpiryDate).toBe(newExpiryDate);
|
|
477
|
+
expect(result.message).toBe('Document expiry extended successfully.');
|
|
478
|
+
|
|
479
|
+
sinon.assert.calledOnceWithExactly(documentApiStub.extendDocumentExpiry, documentId, newExpiryDate);
|
|
480
|
+
});
|
|
481
|
+
|
|
482
|
+
it('should mock and verify listBehalfDocuments call', async () => {
|
|
483
|
+
const onBehalfOf = 'john.doe@example.com';
|
|
484
|
+
|
|
485
|
+
const mockBehalfDocuments = [
|
|
486
|
+
{
|
|
487
|
+
documentId: 'doc123',
|
|
488
|
+
title: 'Sample Document 1',
|
|
489
|
+
status: 'signed',
|
|
490
|
+
onBehalfOf: 'john.doe@example.com',
|
|
491
|
+
},
|
|
492
|
+
{
|
|
493
|
+
documentId: 'doc124',
|
|
494
|
+
title: 'Sample Document 2',
|
|
495
|
+
status: 'pending',
|
|
496
|
+
onBehalfOf: 'john.doe@example.com',
|
|
497
|
+
},
|
|
498
|
+
];
|
|
499
|
+
|
|
500
|
+
documentApiStub.listBehalfDocuments = sinon.stub().resolves(mockBehalfDocuments);
|
|
501
|
+
|
|
502
|
+
const result = await documentApiStub.listBehalfDocuments(onBehalfOf);
|
|
503
|
+
|
|
504
|
+
expect(result).toBeDefined();
|
|
505
|
+
expect(result.length).toBe(2);
|
|
506
|
+
expect(result[0].documentId).toBe('doc123');
|
|
507
|
+
expect(result[0].status).toBe('signed');
|
|
508
|
+
expect(result[1].status).toBe('pending');
|
|
509
|
+
expect(result[1].title).toBe('Sample Document 2');
|
|
510
|
+
|
|
511
|
+
sinon.assert.calledOnceWithExactly(documentApiStub.listBehalfDocuments, onBehalfOf);
|
|
512
|
+
});
|
|
513
|
+
|
|
514
|
+
it('should mock and verify listTeamDocuments call', async () => {
|
|
515
|
+
const teamId = 'team123';
|
|
516
|
+
|
|
517
|
+
const mockTeamDocuments = [
|
|
518
|
+
{
|
|
519
|
+
documentId: 'doc123',
|
|
520
|
+
title: 'Team Document 1',
|
|
521
|
+
status: 'signed',
|
|
522
|
+
teamId: 'team123',
|
|
523
|
+
},
|
|
524
|
+
{
|
|
525
|
+
documentId: 'doc124',
|
|
526
|
+
title: 'Team Document 2',
|
|
527
|
+
status: 'pending',
|
|
528
|
+
teamId: 'team123',
|
|
529
|
+
},
|
|
530
|
+
];
|
|
531
|
+
|
|
532
|
+
documentApiStub.listTeamDocuments = sinon.stub().resolves(mockTeamDocuments);
|
|
533
|
+
|
|
534
|
+
const result = await documentApiStub.listTeamDocuments(teamId);
|
|
535
|
+
|
|
536
|
+
expect(result).toBeDefined();
|
|
537
|
+
expect(result.length).toBe(2);
|
|
538
|
+
expect(result[0].documentId).toBe('doc123');
|
|
539
|
+
expect(result[0].status).toBe('signed');
|
|
540
|
+
expect(result[1].status).toBe('pending');
|
|
541
|
+
expect(result[1].title).toBe('Team Document 2');
|
|
542
|
+
|
|
543
|
+
sinon.assert.calledOnceWithExactly(documentApiStub.listTeamDocuments, teamId);
|
|
544
|
+
});
|
|
545
|
+
});
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { PlanApi } from '../../api/planApi'; // Adjust path accordingly
|
|
2
|
+
import * as sinon from 'sinon';
|
|
3
|
+
|
|
4
|
+
describe('PlanApi Unit Test', () => {
|
|
5
|
+
let planApiStub: sinon.SinonStubbedInstance<PlanApi>;
|
|
6
|
+
|
|
7
|
+
beforeEach(() => {
|
|
8
|
+
// Create a stub instance for the PlanApi class
|
|
9
|
+
planApiStub = sinon.createStubInstance(PlanApi);
|
|
10
|
+
|
|
11
|
+
planApiStub.getBalanceDocumentCredits = sinon.stub().resolves({
|
|
12
|
+
balanceCredits: 150,
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
planApiStub.someOtherMethod = sinon.stub().resolves({ success: true });
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
afterEach(() => {
|
|
19
|
+
sinon.restore();
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
it('should mock and verify getBalanceDocumentCredits call', async () => {
|
|
23
|
+
const expectedBalance = {
|
|
24
|
+
balanceCredits: 150,
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
const result = await planApiStub.getBalanceDocumentCredits();
|
|
28
|
+
|
|
29
|
+
expect(result).toBeDefined();
|
|
30
|
+
expect(result.balanceCredits).toBe(150);
|
|
31
|
+
|
|
32
|
+
sinon.assert.calledOnce(planApiStub.getBalanceDocumentCredits);
|
|
33
|
+
});
|
|
34
|
+
});
|