UNPKG

boldsign

Version:

NodeJS client for boldsign

285 lines 13.8 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || (function () { var ownKeys = function(o) { ownKeys = Object.getOwnPropertyNames || function (o) { var ar = []; for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; return ar; }; return ownKeys(o); }; return function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); __setModuleDefault(result, mod); return result; }; })(); var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); const templateApi_1 = require("../../api/templateApi"); const sinon = __importStar(require("sinon")); describe('TemplateApi Unit Test', () => { let templateApiStub; beforeEach(() => { templateApiStub = sinon.createStubInstance(templateApi_1.TemplateApi); }); afterEach(() => { sinon.restore(); }); it('should mock and verify createTemplate call', () => __awaiter(void 0, void 0, void 0, function* () { const templateData = { name: 'Sample Template', fields: { Title: 'title', Description: 'description', DocumentTitle: 'documentTitle', Files: 'path/to/file.png', BrandId: 'brand_id', onBehalfOf: 'email_example', } }; const mockCreatedTemplate = { id: 'templateId', name: 'Sample Template' }; templateApiStub.createTemplate.resolves(mockCreatedTemplate); const result = yield templateApiStub.createTemplate(templateData); expect(result.id).toEqual('templateId'); sinon.assert.calledOnceWithExactly(templateApiStub.createTemplate, templateData); })); it('should mock and verify listTemplates call', () => __awaiter(void 0, void 0, void 0, function* () { const mockTemplatesList = [ { id: 'template1', name: 'Template One' }, { id: 'template2', name: 'Template Two' } ]; templateApiStub.listTemplates.resolves(mockTemplatesList); const result = yield templateApiStub.listTemplates(); expect(result).toBeDefined(); expect(Array.isArray(result)).toBe(true); expect(result.length).toBe(2); expect(result[0].id).toBe('template1'); expect(result[1].name).toBe('Template Two'); sinon.assert.calledOnce(templateApiStub.listTemplates); })); it('should mock and verify deleteTemplate call', () => __awaiter(void 0, void 0, void 0, function* () { const templateId = 'templateIdToDelete'; const mockDeleteResponse = { success: true, message: 'Template deleted successfully' }; templateApiStub.deleteTemplate.resolves(mockDeleteResponse); const result = yield templateApiStub.deleteTemplate(templateId); expect(result).toBeDefined(); expect(result.success).toBe(true); expect(result.message).toBe('Template deleted successfully'); sinon.assert.calledOnceWithExactly(templateApiStub.deleteTemplate, templateId); })); it('should mock and verify getTemplateDetails call', () => __awaiter(void 0, void 0, void 0, function* () { const templateId = 'template123'; const mockTemplateDetails = { id: 'template123', name: 'Detailed Template', fields: { Title: 'Sample Title', Description: 'Some description' } }; templateApiStub.getTemplateDetails = sinon.stub().resolves(mockTemplateDetails); const result = yield templateApiStub.getTemplateDetails(templateId); expect(result).toBeDefined(); expect(result.id).toBe('template123'); expect(result.name).toBe('Detailed Template'); sinon.assert.calledOnceWithExactly(templateApiStub.getTemplateDetails, templateId); })); it('should mock and verify editTemplate (updateTemplate) call', () => __awaiter(void 0, void 0, void 0, function* () { const templateId = 'template123'; const updateData = { name: 'Updated Template', fields: { Title: 'Updated Title', Description: 'Updated description', DocumentTitle: 'Updated documentTitle', Files: 'path/to/updated_file.png', BrandId: 'updated_brand_id', onBehalfOf: 'updated_email@example.com', } }; const mockUpdatedTemplate = { id: 'template123', name: 'Updated Template', fields: updateData.fields }; templateApiStub.updateTemplate = sinon.stub().resolves(mockUpdatedTemplate); const result = yield templateApiStub.updateTemplate(templateId, updateData); expect(result).toBeDefined(); expect(result.id).toBe(templateId); expect(result.name).toBe('Updated Template'); sinon.assert.calledOnceWithExactly(templateApiStub.updateTemplate, templateId, updateData); })); it('should mock and verify addTemplateTag call', () => __awaiter(void 0, void 0, void 0, function* () { const templateId = 'template123'; const tagData = { tag: 'new-tag', }; const mockAddTagResponse = { success: true, message: 'Tag added successfully to the template', templateId: 'template123', tags: ['new-tag'], }; templateApiStub.addTemplateTag = sinon.stub().resolves(mockAddTagResponse); const result = yield templateApiStub.addTemplateTag(templateId, tagData); expect(result).toBeDefined(); expect(result.success).toBe(true); expect(result.message).toBe('Tag added successfully to the template'); expect(result.templateId).toBe(templateId); expect(result.tags).toEqual(['new-tag']); sinon.assert.calledOnceWithExactly(templateApiStub.addTemplateTag, templateId, tagData); })); it('should mock and verify deleteTemplateTag call', () => __awaiter(void 0, void 0, void 0, function* () { const templateId = 'template123'; const tagData = { tag: 'new-tag', }; const mockDeleteTagResponse = { success: true, message: 'Tag deleted successfully from the template', templateId: 'template123', tags: [], }; templateApiStub.deleteTemplateTag = sinon.stub().resolves(mockDeleteTagResponse); const result = yield templateApiStub.deleteTemplateTag(templateId, tagData); expect(result).toBeDefined(); expect(result.success).toBe(true); expect(result.message).toBe('Tag deleted successfully from the template'); expect(result.templateId).toBe(templateId); expect(result.tags).toEqual([]); sinon.assert.calledOnceWithExactly(templateApiStub.deleteTemplateTag, templateId, tagData); })); it('should mock and verify downloadTemplate call', () => __awaiter(void 0, void 0, void 0, function* () { const templateId = 'template123'; const mockDownloadResponse = Buffer.from('some template data'); templateApiStub.downloadTemplate = sinon.stub().resolves(mockDownloadResponse); const result = yield templateApiStub.downloadTemplate(templateId); expect(result).toBeDefined(); expect(result).toBeInstanceOf(Buffer); expect(result.toString()).toBe(mockDownloadResponse.toString()); sinon.assert.calledOnceWithExactly(templateApiStub.downloadTemplate, templateId); })); it('should mock and verify createEmbeddedTemplate call', () => __awaiter(void 0, void 0, void 0, function* () { const embeddedTemplateData = { name: 'Embedded Template', fields: { Title: 'title', Description: 'description', DocumentTitle: 'documentTitle', Files: 'path/to/file.pdf', BrandId: 'brand123', onBehalfOf: 'user@example.com', }, redirectUrl: 'https://your-app.com/redirect', }; const mockEmbeddedTemplateResponse = { templateId: 'embeddedTemplate123', url: 'https://signing-service.com/embedded/template/embeddedTemplate123', expiresAt: '2025-12-31T23:59:59Z' }; templateApiStub.createEmbeddedTemplate = sinon.stub().resolves(mockEmbeddedTemplateResponse); const result = yield templateApiStub.createEmbeddedTemplate(embeddedTemplateData); expect(result).toBeDefined(); expect(result.templateId).toBe('embeddedTemplate123'); expect(result.url).toContain('/embedded/template/embeddedTemplate123'); expect(result.expiresAt).toBe('2025-12-31T23:59:59Z'); sinon.assert.calledOnceWithExactly(templateApiStub.createEmbeddedTemplate, embeddedTemplateData); })); it('should mock and verify editEmbeddedTemplate call', () => __awaiter(void 0, void 0, void 0, function* () { const templateId = 'embeddedTemplate123'; const updateData = { name: 'Updated Embedded Template', fields: { Title: 'Updated Title', Description: 'Updated Description', DocumentTitle: 'Updated Doc Title', Files: 'path/to/updated_file.pdf', BrandId: 'updatedBrand456', onBehalfOf: 'updateduser@example.com', }, redirectUrl: 'https://your-app.com/updated-redirect', }; const mockUpdatedEmbeddedTemplateResponse = { templateId: templateId, name: 'Updated Embedded Template', url: 'https://signing-service.com/embedded/template/embeddedTemplate123', expiresAt: '2025-12-31T23:59:59Z', updated: true }; templateApiStub.editEmbeddedTemplate = sinon.stub().resolves(mockUpdatedEmbeddedTemplateResponse); const result = yield templateApiStub.editEmbeddedTemplate(templateId, updateData); expect(result).toBeDefined(); expect(result.templateId).toBe(templateId); expect(result.name).toBe('Updated Embedded Template'); expect(result.url).toContain('/embedded/template/embeddedTemplate123'); expect(result.updated).toBe(true); expect(result.expiresAt).toBe('2025-12-31T23:59:59Z'); sinon.assert.calledOnceWithExactly(templateApiStub.editEmbeddedTemplate, templateId, updateData); })); it('should mock and verify createEmbeddedRequestLinkFromTemplate call', () => __awaiter(void 0, void 0, void 0, function* () { const templateId = 'template123'; const requestData = { title: 'Embedded Signing Request', message: 'Please sign this document via embedded link.', roles: [ { role: 'Signer', name: 'Jane Doe', email: 'jane.doe@example.com', } ], redirectUrl: 'https://your-app.com/redirect-after-signing', onBehalfOf: 'admin@example.com', isSandbox: true, labels: ['embedded', 'request'], }; const mockResponse = { requestId: 'req789', url: 'https://signing-service.com/embedded/request/req789', expiresAt: '2025-12-31T23:59:59Z', templateId: 'template123', }; templateApiStub.createEmbeddedRequestLinkFromTemplate = sinon.stub().resolves(mockResponse); const result = yield templateApiStub.createEmbeddedRequestLinkFromTemplate(templateId, requestData); expect(result).toBeDefined(); expect(result.requestId).toBe('req789'); expect(result.url).toContain('/embedded/request/req789'); expect(result.templateId).toBe(templateId); expect(result.expiresAt).toBe('2025-12-31T23:59:59Z'); sinon.assert.calledOnceWithExactly(templateApiStub.createEmbeddedRequestLinkFromTemplate, templateId, requestData); })); }); //# sourceMappingURL=templateApi.spec.js.map