boldsign 1.0.1 → 1.0.2

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 (233) hide show
  1. package/.openapi-generator/FILES +2 -0
  2. package/README.md +2 -0
  3. package/api/apis.ts +1 -1
  4. package/dist/api/apis.d.ts +1 -1
  5. package/dist/api/apis.js +1 -1
  6. package/dist/model/accessCodeDetail.d.ts +2 -0
  7. package/dist/model/accessCodeDetail.js +5 -0
  8. package/dist/model/accessCodeDetail.js.map +1 -1
  9. package/dist/model/authenticationSettings.d.ts +22 -0
  10. package/dist/model/authenticationSettings.js +27 -0
  11. package/dist/model/authenticationSettings.js.map +1 -0
  12. package/dist/model/documentSigner.d.ts +2 -0
  13. package/dist/model/documentSigner.js +5 -0
  14. package/dist/model/documentSigner.js.map +1 -1
  15. package/dist/model/documentSignerDetails.d.ts +2 -0
  16. package/dist/model/documentSignerDetails.js +5 -0
  17. package/dist/model/documentSignerDetails.js.map +1 -1
  18. package/dist/model/index.d.ts +3 -1
  19. package/dist/model/index.js +10 -3
  20. package/dist/model/index.js.map +1 -1
  21. package/dist/model/role.d.ts +2 -0
  22. package/dist/model/role.js +5 -0
  23. package/dist/model/role.js.map +1 -1
  24. package/dist/model/signerAuthenticationSettings.d.ts +15 -0
  25. package/dist/model/signerAuthenticationSettings.js +23 -0
  26. package/dist/model/signerAuthenticationSettings.js.map +1 -0
  27. package/dist/tests/config.d.ts +5 -0
  28. package/dist/tests/config.js +43 -0
  29. package/dist/tests/config.js.map +1 -0
  30. package/dist/tests/integration/BrandingApiTest.spec.d.ts +1 -0
  31. package/dist/tests/integration/BrandingApiTest.spec.js +310 -0
  32. package/dist/tests/integration/BrandingApiTest.spec.js.map +1 -0
  33. package/dist/tests/integration/ContactsApiTest.spec.d.ts +1 -0
  34. package/dist/tests/integration/ContactsApiTest.spec.js +249 -0
  35. package/dist/tests/integration/ContactsApiTest.spec.js.map +1 -0
  36. package/dist/tests/integration/CustomFieldApiTest.spec.d.ts +1 -0
  37. package/dist/tests/integration/CustomFieldApiTest.spec.js +289 -0
  38. package/dist/tests/integration/CustomFieldApiTest.spec.js.map +1 -0
  39. package/dist/tests/integration/DocumentApiTest.spec.d.ts +1 -0
  40. package/dist/tests/integration/DocumentApiTest.spec.js +1691 -0
  41. package/dist/tests/integration/DocumentApiTest.spec.js.map +1 -0
  42. package/dist/tests/integration/TemplateApiTest.spec.d.ts +1 -0
  43. package/dist/tests/integration/TemplateApiTest.spec.js +1440 -0
  44. package/dist/tests/integration/TemplateApiTest.spec.js.map +1 -0
  45. package/dist/tests/integration/planApiTest.spec.d.ts +1 -0
  46. package/dist/tests/integration/planApiTest.spec.js +41 -0
  47. package/dist/tests/integration/planApiTest.spec.js.map +1 -0
  48. package/dist/tests/integration/senderIdentity.spec.d.ts +1 -0
  49. package/dist/tests/integration/senderIdentity.spec.js +481 -0
  50. package/dist/tests/integration/senderIdentity.spec.js.map +1 -0
  51. package/dist/tests/integration/teamsApiTest.spec.d.ts +1 -0
  52. package/dist/tests/integration/teamsApiTest.spec.js +230 -0
  53. package/dist/tests/integration/teamsApiTest.spec.js.map +1 -0
  54. package/dist/tests/integration/usersApiTest.spec.d.ts +1 -0
  55. package/dist/tests/integration/usersApiTest.spec.js +290 -0
  56. package/dist/tests/integration/usersApiTest.spec.js.map +1 -0
  57. package/dist/tests/unit/brandingApi.spec.d.ts +1 -0
  58. package/dist/tests/unit/brandingApi.spec.js +174 -0
  59. package/dist/tests/unit/brandingApi.spec.js.map +1 -0
  60. package/dist/tests/unit/contactsApi.spec.d.ts +1 -0
  61. package/dist/tests/unit/contactsApi.spec.js +154 -0
  62. package/dist/tests/unit/contactsApi.spec.js.map +1 -0
  63. package/dist/tests/unit/customFieldApi.spec.d.ts +1 -0
  64. package/dist/tests/unit/customFieldApi.spec.js +140 -0
  65. package/dist/tests/unit/customFieldApi.spec.js.map +1 -0
  66. package/dist/tests/unit/documentApi.spec.d.ts +1 -0
  67. package/dist/tests/unit/documentApi.spec.js +476 -0
  68. package/dist/tests/unit/documentApi.spec.js.map +1 -0
  69. package/dist/tests/unit/planApi.spec.d.ts +1 -0
  70. package/dist/tests/unit/planApi.spec.js +69 -0
  71. package/dist/tests/unit/planApi.spec.js.map +1 -0
  72. package/dist/tests/unit/senderIdentitiesApi.spec.d.ts +1 -0
  73. package/dist/tests/unit/senderIdentitiesApi.spec.js +148 -0
  74. package/dist/tests/unit/senderIdentitiesApi.spec.js.map +1 -0
  75. package/dist/tests/unit/teamApi.spec.d.ts +1 -0
  76. package/dist/tests/unit/teamApi.spec.js +116 -0
  77. package/dist/tests/unit/teamApi.spec.js.map +1 -0
  78. package/dist/tests/unit/templateApi.spec.d.ts +1 -0
  79. package/dist/tests/unit/templateApi.spec.js +285 -0
  80. package/dist/tests/unit/templateApi.spec.js.map +1 -0
  81. package/dist/tests/unit/userApi.spec.d.ts +1 -0
  82. package/dist/tests/unit/userApi.spec.js +163 -0
  83. package/dist/tests/unit/userApi.spec.js.map +1 -0
  84. package/docs/AccessCodeDetail.md +19 -0
  85. package/docs/AccessCodeDetails.md +13 -0
  86. package/docs/Address.md +16 -0
  87. package/docs/AttachmentInfo.md +14 -0
  88. package/docs/AuditTrail.md +18 -0
  89. package/docs/AuthenticationSettings.md +11 -0
  90. package/docs/Base64File.md +12 -0
  91. package/docs/BehalfDocument.md +27 -0
  92. package/docs/BehalfDocumentRecords.md +12 -0
  93. package/docs/BehalfOf.md +12 -0
  94. package/docs/BillingViewModel.md +11 -0
  95. package/docs/BrandCreated.md +11 -0
  96. package/docs/BrandCustomFieldDetails.md +16 -0
  97. package/docs/BrandingApi.md +258 -0
  98. package/docs/BrandingMessage.md +11 -0
  99. package/docs/BrandingRecords.md +11 -0
  100. package/docs/ChangeRecipient.md +18 -0
  101. package/docs/ConditionalRule.md +13 -0
  102. package/docs/ContactCreated.md +12 -0
  103. package/docs/ContactDetails.md +15 -0
  104. package/docs/ContactPageDetails.md +13 -0
  105. package/docs/ContactsApi.md +176 -0
  106. package/docs/ContactsDetails.md +16 -0
  107. package/docs/ContactsList.md +12 -0
  108. package/docs/CreateContactResponse.md +11 -0
  109. package/docs/CreateSenderIdentityRequest.md +16 -0
  110. package/docs/CreateTeamRequest.md +11 -0
  111. package/docs/CreateTemplateRequest.md +35 -0
  112. package/docs/CreateUser.md +14 -0
  113. package/docs/CustomDomainSettings.md +12 -0
  114. package/docs/CustomFieldApi.md +174 -0
  115. package/docs/CustomFieldCollection.md +11 -0
  116. package/docs/CustomFieldMessage.md +12 -0
  117. package/docs/CustomFormField.md +43 -0
  118. package/docs/Date.md +13 -0
  119. package/docs/DeleteCustomFieldReply.md +11 -0
  120. package/docs/Document.md +26 -0
  121. package/docs/DocumentApi.md +756 -0
  122. package/docs/DocumentCC.md +11 -0
  123. package/docs/DocumentCcDetails.md +12 -0
  124. package/docs/DocumentCreated.md +11 -0
  125. package/docs/DocumentExpirySettings.md +16 -0
  126. package/docs/DocumentFiles.md +13 -0
  127. package/docs/DocumentFormFields.md +49 -0
  128. package/docs/DocumentInfo.md +14 -0
  129. package/docs/DocumentProperties.md +50 -0
  130. package/docs/DocumentReassign.md +13 -0
  131. package/docs/DocumentRecords.md +12 -0
  132. package/docs/DocumentSenderDetail.md +14 -0
  133. package/docs/DocumentSigner.md +31 -0
  134. package/docs/DocumentSignerDetails.md +37 -0
  135. package/docs/DocumentTags.md +12 -0
  136. package/docs/DownloadImageRequest.md +16 -0
  137. package/docs/EditSenderIdentityRequest.md +14 -0
  138. package/docs/EditTemplateRequest.md +29 -0
  139. package/docs/EditableDateFieldSettings.md +13 -0
  140. package/docs/EmbeddedCreateTemplateRequest.md +46 -0
  141. package/docs/EmbeddedCustomFieldCreated.md +11 -0
  142. package/docs/EmbeddedDocumentRequest.md +55 -0
  143. package/docs/EmbeddedFileDetails.md +16 -0
  144. package/docs/EmbeddedFileLink.md +11 -0
  145. package/docs/EmbeddedMergeTemplateFormRequest.md +56 -0
  146. package/docs/EmbeddedSendCreated.md +12 -0
  147. package/docs/EmbeddedSendTemplateFormRequest.md +53 -0
  148. package/docs/EmbeddedSigningLink.md +11 -0
  149. package/docs/EmbeddedTemplateCreated.md +12 -0
  150. package/docs/EmbeddedTemplateEditRequest.md +21 -0
  151. package/docs/EmbeddedTemplateEdited.md +11 -0
  152. package/docs/Error.md +12 -0
  153. package/docs/ErrorResult.md +11 -0
  154. package/docs/ExistingFormField.md +15 -0
  155. package/docs/ExtendExpiry.md +14 -0
  156. package/docs/FileInfo.md +14 -0
  157. package/docs/Font.md +18 -0
  158. package/docs/FormField.md +50 -0
  159. package/docs/FormGroup.md +15 -0
  160. package/docs/FormulaFieldSettings.md +12 -0
  161. package/docs/IdDocument.md +21 -0
  162. package/docs/IdReport.md +14 -0
  163. package/docs/IdVerification.md +18 -0
  164. package/docs/IdentityVerificationApi.md +109 -0
  165. package/docs/IdentityVerificationSettings.md +16 -0
  166. package/docs/ImageInfo.md +13 -0
  167. package/docs/MergeAndSendForSignForm.md +46 -0
  168. package/docs/NotificationSettings.md +22 -0
  169. package/docs/PageDetails.md +16 -0
  170. package/docs/PhoneNumber.md +12 -0
  171. package/docs/PlanApi.md +38 -0
  172. package/docs/PrefillField.md +12 -0
  173. package/docs/PrefillFieldRequest.md +12 -0
  174. package/docs/ProblemDetails.md +15 -0
  175. package/docs/RecipientNotificationSettings.md +22 -0
  176. package/docs/Rectangle.md +14 -0
  177. package/docs/ReminderMessage.md +13 -0
  178. package/docs/ReminderSettings.md +13 -0
  179. package/docs/RemoveAuthentication.md +14 -0
  180. package/docs/RevokeDocument.md +12 -0
  181. package/docs/Role.md +33 -0
  182. package/docs/Roles.md +33 -0
  183. package/docs/SendForSign.md +45 -0
  184. package/docs/SendForSignFromTemplateForm.md +43 -0
  185. package/docs/SenderIdentitiesApi.md +209 -0
  186. package/docs/SenderIdentityCreated.md +11 -0
  187. package/docs/SenderIdentityList.md +12 -0
  188. package/docs/SenderIdentityViewModel.md +19 -0
  189. package/docs/SignerAuthenticationSettings.md +12 -0
  190. package/docs/Size.md +12 -0
  191. package/docs/TeamCreated.md +11 -0
  192. package/docs/TeamDocumentRecords.md +12 -0
  193. package/docs/TeamListResponse.md +12 -0
  194. package/docs/TeamPageDetails.md +12 -0
  195. package/docs/TeamResponse.md +15 -0
  196. package/docs/TeamUpdateRequest.md +12 -0
  197. package/docs/TeamUsers.md +16 -0
  198. package/docs/Teams.md +14 -0
  199. package/docs/TeamsApi.md +141 -0
  200. package/docs/Template.md +29 -0
  201. package/docs/TemplateApi.md +484 -0
  202. package/docs/TemplateCC.md +12 -0
  203. package/docs/TemplateCreated.md +11 -0
  204. package/docs/TemplateFormFields.md +50 -0
  205. package/docs/TemplateProperties.md +37 -0
  206. package/docs/TemplateRecords.md +12 -0
  207. package/docs/TemplateRole.md +28 -0
  208. package/docs/TemplateSenderDetail.md +12 -0
  209. package/docs/TemplateSenderDetails.md +13 -0
  210. package/docs/TemplateSharedTemplateDetail.md +12 -0
  211. package/docs/TemplateSignerDetails.md +27 -0
  212. package/docs/TemplateTag.md +14 -0
  213. package/docs/TextTagDefinition.md +40 -0
  214. package/docs/TextTagOffset.md +12 -0
  215. package/docs/UpdateUser.md +14 -0
  216. package/docs/UpdateUserMetaData.md +12 -0
  217. package/docs/UserApi.md +240 -0
  218. package/docs/UserPageDetails.md +12 -0
  219. package/docs/UserProperties.md +21 -0
  220. package/docs/UserRecords.md +12 -0
  221. package/docs/UsersDetails.md +21 -0
  222. package/docs/Validation.md +13 -0
  223. package/docs/VerificationDataRequest.md +15 -0
  224. package/docs/ViewBrandDetails.md +34 -0
  225. package/docs/ViewCustomFieldDetails.md +17 -0
  226. package/model/accessCodeDetail.ts +7 -0
  227. package/model/authenticationSettings.ts +39 -0
  228. package/model/documentSigner.ts +7 -0
  229. package/model/documentSignerDetails.ts +7 -0
  230. package/model/index.ts +7 -0
  231. package/model/role.ts +7 -0
  232. package/model/signerAuthenticationSettings.ts +37 -0
  233. package/package.json +2 -1
@@ -0,0 +1,174 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
+ return new (P || (P = Promise))(function (resolve, reject) {
38
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
42
+ });
43
+ };
44
+ Object.defineProperty(exports, "__esModule", { value: true });
45
+ const brandingApi_1 = require("../../api/brandingApi");
46
+ const sinon = __importStar(require("sinon"));
47
+ describe('BrandingApi Unit Test', () => {
48
+ let brandingApiStub;
49
+ beforeEach(() => {
50
+ brandingApiStub = sinon.createStubInstance(brandingApi_1.BrandingApi);
51
+ brandingApiStub.createBrand = sinon.stub().resolves({ brandId: 'brand_id' });
52
+ brandingApiStub.updateBrand = sinon.stub().resolves({
53
+ success: true,
54
+ message: 'Brand updated successfully',
55
+ });
56
+ });
57
+ afterEach(() => {
58
+ sinon.restore();
59
+ });
60
+ it('should mock and verify createBrand call', () => __awaiter(void 0, void 0, void 0, function* () {
61
+ const mockBrandCreated = {
62
+ brandId: 'brand_id',
63
+ };
64
+ const brandData = {
65
+ brandName: "New Brand",
66
+ brandLogo: Buffer.from("mock_logo_data"),
67
+ backgroundColor: "#FFFFFF",
68
+ buttonColor: "#000000",
69
+ buttonTextColor: "#FFFFFF",
70
+ emailDisplayName: "Brand Email",
71
+ disclaimerDescription: "Disclaimer",
72
+ disclaimerTitle: "Disclaimer Title",
73
+ redirectUrl: "https://example.com",
74
+ redirectUri: "https://example.com",
75
+ isDefault: true,
76
+ canHideTagLine: false,
77
+ combineAuditTrail: true,
78
+ excludeAuditTrailFromEmail: false,
79
+ documentTimeZone: "UTC",
80
+ completedEmailType: "email_type",
81
+ emailSignedDocument: "email_signed_doc",
82
+ showBuiltInFormFields: true,
83
+ allowCustomFieldCreation: true,
84
+ showSharedCustomFields: true,
85
+ hideDecline: false,
86
+ hideSave: false
87
+ };
88
+ const result = yield brandingApiStub.createBrand(brandData);
89
+ expect(result).toBeDefined();
90
+ expect(result.brandId).toBe('brand_id');
91
+ sinon.assert.calledOnceWithExactly(brandingApiStub.createBrand, brandData);
92
+ }));
93
+ it('should mock and verify updateBrand call', () => __awaiter(void 0, void 0, void 0, function* () {
94
+ const mockBrandUpdated = {
95
+ success: true,
96
+ message: 'Brand updated successfully',
97
+ };
98
+ const brandId = 'brand_id';
99
+ const updatedBrandData = {
100
+ name: 'Updated Corporate Theme',
101
+ primaryColor: '#FF0000',
102
+ };
103
+ const result = yield brandingApiStub.updateBrand(brandId, updatedBrandData);
104
+ expect(result).toBeDefined();
105
+ expect(result.success).toBe(true);
106
+ expect(result.message).toBe('Brand updated successfully');
107
+ sinon.assert.calledOnceWithExactly(brandingApiStub.updateBrand, brandId, updatedBrandData);
108
+ }));
109
+ it('should mock and verify listBrands call', () => __awaiter(void 0, void 0, void 0, function* () {
110
+ const mockBrandList = [
111
+ {
112
+ brandId: 'brand_1',
113
+ name: 'Brand One',
114
+ primaryColor: '#FF0000',
115
+ },
116
+ {
117
+ brandId: 'brand_2',
118
+ name: 'Brand Two',
119
+ primaryColor: '#00FF00',
120
+ },
121
+ ];
122
+ brandingApiStub.listBrands = sinon.stub().resolves(mockBrandList);
123
+ const result = yield brandingApiStub.listBrands();
124
+ expect(result).toBeDefined();
125
+ expect(result.length).toBe(2);
126
+ expect(result[0].brandId).toBe('brand_1');
127
+ expect(result[0].name).toBe('Brand One');
128
+ expect(result[0].primaryColor).toBe('#FF0000');
129
+ sinon.assert.calledOnce(brandingApiStub.listBrands);
130
+ }));
131
+ it('should mock and verify getBrand call', () => __awaiter(void 0, void 0, void 0, function* () {
132
+ const brandId = 'brand_1';
133
+ const mockBrandDetails = {
134
+ brandId: 'brand_1',
135
+ name: 'Brand One',
136
+ primaryColor: '#FF0000',
137
+ backgroundColor: '#FFFFFF',
138
+ brandLogoUrl: 'https://example.com/logo.png',
139
+ };
140
+ brandingApiStub.getBrand = sinon.stub().resolves(mockBrandDetails);
141
+ const result = yield brandingApiStub.getBrand(brandId);
142
+ expect(result).toBeDefined();
143
+ expect(result.brandId).toBe('brand_1');
144
+ expect(result.name).toBe('Brand One');
145
+ expect(result.primaryColor).toBe('#FF0000');
146
+ expect(result.backgroundColor).toBe('#FFFFFF');
147
+ expect(result.brandLogoUrl).toBe('https://example.com/logo.png');
148
+ sinon.assert.calledOnceWithExactly(brandingApiStub.getBrand, brandId);
149
+ }));
150
+ it('should mock and verify deleteBrand call', () => __awaiter(void 0, void 0, void 0, function* () {
151
+ const brandId = 'brand_1';
152
+ const mockDeleteResponse = {
153
+ success: true,
154
+ message: 'Brand deleted successfully',
155
+ };
156
+ brandingApiStub.deleteBrand = sinon.stub().resolves(mockDeleteResponse);
157
+ const result = yield brandingApiStub.deleteBrand(brandId);
158
+ expect(result).toBeDefined();
159
+ expect(result.success).toBe(true);
160
+ expect(result.message).toBe('Brand deleted successfully');
161
+ sinon.assert.calledOnceWithExactly(brandingApiStub.deleteBrand, brandId);
162
+ }));
163
+ it('should mock and verify resetBrandSettingsToDefault call', () => __awaiter(void 0, void 0, void 0, function* () {
164
+ const brandId = 'brand_1';
165
+ const mockResetResponse = { success: true, message: 'Brand settings reset to default' };
166
+ brandingApiStub.resetBrandSettingsToDefault = sinon.stub().resolves(mockResetResponse);
167
+ const result = yield brandingApiStub.resetBrandSettingsToDefault(brandId);
168
+ expect(result).toBeDefined();
169
+ expect(result.success).toBe(true);
170
+ expect(result.message).toBe('Brand settings reset to default');
171
+ sinon.assert.calledOnceWithExactly(brandingApiStub.resetBrandSettingsToDefault, brandId);
172
+ }));
173
+ });
174
+ //# sourceMappingURL=brandingApi.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brandingApi.spec.js","sourceRoot":"","sources":["../../../tests/unit/brandingApi.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
+ return new (P || (P = Promise))(function (resolve, reject) {
38
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
42
+ });
43
+ };
44
+ Object.defineProperty(exports, "__esModule", { value: true });
45
+ const contactsApi_1 = require("../../api/contactsApi");
46
+ const sinon = __importStar(require("sinon"));
47
+ describe('ContactApi Unit Test', () => {
48
+ let contactApiStub;
49
+ beforeEach(() => {
50
+ contactApiStub = sinon.createStubInstance(contactsApi_1.ContactsApi);
51
+ contactApiStub.createContact = sinon.stub().resolves({ contactId: 'contact_id' });
52
+ contactApiStub.updateContact = sinon.stub().resolves({
53
+ success: true,
54
+ message: 'Contact updated successfully',
55
+ });
56
+ });
57
+ afterEach(() => {
58
+ sinon.restore();
59
+ });
60
+ it('should mock and verify createContact call', () => __awaiter(void 0, void 0, void 0, function* () {
61
+ const mockContactCreated = {
62
+ contactId: 'contact_id',
63
+ };
64
+ const contactData = {
65
+ name: 'New contact',
66
+ email: 'newEmail@gmail.com',
67
+ phoneNumber: '9876543210',
68
+ jobTitle: 'Test',
69
+ companyName: 'Syncfusion',
70
+ };
71
+ contactApiStub.createContact.resolves(mockContactCreated);
72
+ const result = yield contactApiStub.createContact(contactData);
73
+ expect(result).toBeDefined();
74
+ expect(result.contactId).toBe('contact_id');
75
+ sinon.assert.calledOnceWithExactly(contactApiStub.createContact, contactData);
76
+ }));
77
+ it('should mock and verify listContacts call', () => __awaiter(void 0, void 0, void 0, function* () {
78
+ const mockContactList = [
79
+ {
80
+ contactId: 'contact_1',
81
+ name: 'Contact One',
82
+ email: 'contact1@example.com',
83
+ },
84
+ {
85
+ contactId: 'contact_2',
86
+ name: 'Contact Two',
87
+ email: 'contact2@example.com',
88
+ },
89
+ ];
90
+ contactApiStub.listContacts = sinon.stub().resolves(mockContactList);
91
+ const result = yield contactApiStub.listContacts();
92
+ expect(result).toBeDefined();
93
+ expect(result.length).toBe(2);
94
+ expect(result[0].contactId).toBe('contact_1');
95
+ expect(result[0].name).toBe('Contact One');
96
+ expect(result[0].email).toBe('contact1@example.com');
97
+ sinon.assert.calledOnce(contactApiStub.listContacts);
98
+ }));
99
+ it('should mock and verify updateContact call', () => __awaiter(void 0, void 0, void 0, function* () {
100
+ const mockUpdatedContact = {
101
+ success: true,
102
+ message: 'Contact updated successfully',
103
+ };
104
+ const contactId = 'contact_1';
105
+ const updatedContactData = {
106
+ name: 'Updated Contact One',
107
+ email: 'updatedEmail@example.com',
108
+ phoneNumber: '1234567890',
109
+ jobTitle: 'Updated Job Title',
110
+ companyName: 'Updated Company',
111
+ };
112
+ contactApiStub.updateContact = sinon.stub().resolves(mockUpdatedContact);
113
+ const result = yield contactApiStub.updateContact(contactId, updatedContactData);
114
+ expect(result).toBeDefined();
115
+ expect(result.success).toBe(true);
116
+ expect(result.message).toBe('Contact updated successfully');
117
+ sinon.assert.calledOnceWithExactly(contactApiStub.updateContact, contactId, updatedContactData);
118
+ }));
119
+ it('should mock and verify deleteContact call', () => __awaiter(void 0, void 0, void 0, function* () {
120
+ const mockDeleteResponse = {
121
+ success: true,
122
+ message: 'Contact deleted successfully',
123
+ };
124
+ const contactId = 'contact_1';
125
+ contactApiStub.deleteContact = sinon.stub().resolves(mockDeleteResponse);
126
+ const result = yield contactApiStub.deleteContact(contactId);
127
+ expect(result).toBeDefined();
128
+ expect(result.success).toBe(true);
129
+ expect(result.message).toBe('Contact deleted successfully');
130
+ sinon.assert.calledOnceWithExactly(contactApiStub.deleteContact, contactId);
131
+ }));
132
+ it('should mock and verify getContact call', () => __awaiter(void 0, void 0, void 0, function* () {
133
+ const mockContactDetails = {
134
+ contactId: 'contact_1',
135
+ name: 'Contact One',
136
+ email: 'contact1@example.com',
137
+ phoneNumber: '9876543210',
138
+ jobTitle: 'Software Engineer',
139
+ companyName: 'TechCorp',
140
+ };
141
+ const contactId = 'contact_1';
142
+ contactApiStub.getContact = sinon.stub().resolves(mockContactDetails);
143
+ const result = yield contactApiStub.getContact(contactId);
144
+ expect(result).toBeDefined();
145
+ expect(result.contactId).toBe('contact_1');
146
+ expect(result.name).toBe('Contact One');
147
+ expect(result.email).toBe('contact1@example.com');
148
+ expect(result.phoneNumber).toBe('9876543210');
149
+ expect(result.jobTitle).toBe('Software Engineer');
150
+ expect(result.companyName).toBe('TechCorp');
151
+ sinon.assert.calledOnceWithExactly(contactApiStub.getContact, contactId);
152
+ }));
153
+ });
154
+ //# sourceMappingURL=contactsApi.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contactsApi.spec.js","sourceRoot":"","sources":["../../../tests/unit/contactsApi.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
+ return new (P || (P = Promise))(function (resolve, reject) {
38
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
42
+ });
43
+ };
44
+ Object.defineProperty(exports, "__esModule", { value: true });
45
+ const customFieldApi_1 = require("../../api/customFieldApi");
46
+ const sinon = __importStar(require("sinon"));
47
+ describe('CustomFieldsApi Unit Test', () => {
48
+ let customFieldsApiStub;
49
+ beforeEach(() => {
50
+ customFieldsApiStub = sinon.createStubInstance(customFieldApi_1.CustomFieldApi);
51
+ customFieldsApiStub.createCustomField = sinon.stub().resolves({ customFieldId: 'field_id' });
52
+ customFieldsApiStub.updateCustomField = sinon.stub().resolves({
53
+ success: true,
54
+ message: 'Custom field updated successfully',
55
+ });
56
+ });
57
+ afterEach(() => {
58
+ sinon.restore();
59
+ });
60
+ it('should mock and verify createCustomField call', () => __awaiter(void 0, void 0, void 0, function* () {
61
+ const customFieldData = {
62
+ name: 'Employee ID',
63
+ type: 'text',
64
+ required: true,
65
+ defaultValue: '12345',
66
+ };
67
+ const result = yield customFieldsApiStub.createCustomField(customFieldData);
68
+ expect(result).toBeDefined();
69
+ expect(result.customFieldId).toBe('field_id');
70
+ sinon.assert.calledOnceWithExactly(customFieldsApiStub.createCustomField, customFieldData);
71
+ }));
72
+ it('should mock and verify updateCustomField call', () => __awaiter(void 0, void 0, void 0, function* () {
73
+ const customFieldId = 'field_id';
74
+ const updatedFieldData = {
75
+ name: 'Updated Employee ID',
76
+ type: 'text',
77
+ required: false,
78
+ defaultValue: '00000',
79
+ };
80
+ const result = yield customFieldsApiStub.updateCustomField(customFieldId, updatedFieldData);
81
+ expect(result).toBeDefined();
82
+ expect(result.success).toBe(true);
83
+ expect(result.message).toBe('Custom field updated successfully');
84
+ sinon.assert.calledOnceWithExactly(customFieldsApiStub.updateCustomField, customFieldId, updatedFieldData);
85
+ }));
86
+ it('should mock and verify listCustomFields call', () => __awaiter(void 0, void 0, void 0, function* () {
87
+ const mockCustomFieldList = [
88
+ {
89
+ customFieldId: 'field_1',
90
+ name: 'Employee ID',
91
+ type: 'text',
92
+ required: true,
93
+ defaultValue: '12345',
94
+ },
95
+ {
96
+ customFieldId: 'field_2',
97
+ name: 'Department',
98
+ type: 'select',
99
+ required: false,
100
+ defaultValue: 'HR',
101
+ },
102
+ ];
103
+ customFieldsApiStub.listCustomFields = sinon.stub().resolves(mockCustomFieldList);
104
+ const result = yield customFieldsApiStub.listCustomFields();
105
+ expect(result).toBeDefined();
106
+ expect(result.length).toBe(2);
107
+ expect(result[0].customFieldId).toBe('field_1');
108
+ expect(result[0].name).toBe('Employee ID');
109
+ expect(result[1].customFieldId).toBe('field_2');
110
+ expect(result[1].name).toBe('Department');
111
+ sinon.assert.calledOnce(customFieldsApiStub.listCustomFields);
112
+ }));
113
+ it('should mock and verify deleteCustomField call', () => __awaiter(void 0, void 0, void 0, function* () {
114
+ const mockDeleteResponse = {
115
+ success: true,
116
+ message: 'Custom field deleted successfully',
117
+ };
118
+ const customFieldId = 'field_1';
119
+ customFieldsApiStub.deleteCustomField = sinon.stub().resolves(mockDeleteResponse);
120
+ const result = yield customFieldsApiStub.deleteCustomField(customFieldId);
121
+ expect(result).toBeDefined();
122
+ expect(result.success).toBe(true);
123
+ expect(result.message).toBe('Custom field deleted successfully');
124
+ sinon.assert.calledOnceWithExactly(customFieldsApiStub.deleteCustomField, customFieldId);
125
+ }));
126
+ it('should mock and verify createEmbeddedCustomFieldUrl call', () => __awaiter(void 0, void 0, void 0, function* () {
127
+ const customFieldId = 'field_id';
128
+ const mockEmbeddedUrlResponse = {
129
+ success: true,
130
+ url: 'https://example.com/embedded/customfield/field_id',
131
+ };
132
+ customFieldsApiStub.createEmbeddedCustomFieldUrl = sinon.stub().resolves(mockEmbeddedUrlResponse);
133
+ const result = yield customFieldsApiStub.createEmbeddedCustomFieldUrl(customFieldId);
134
+ expect(result).toBeDefined();
135
+ expect(result.success).toBe(true);
136
+ expect(result.url).toBe('https://example.com/embedded/customfield/field_id');
137
+ sinon.assert.calledOnceWithExactly(customFieldsApiStub.createEmbeddedCustomFieldUrl, customFieldId);
138
+ }));
139
+ });
140
+ //# sourceMappingURL=customFieldApi.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customFieldApi.spec.js","sourceRoot":"","sources":["../../../tests/unit/customFieldApi.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};