@incodetech/core 2.0.0-alpha.2 → 2.0.0-alpha.3

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 (134) hide show
  1. package/package.json +4 -1
  2. package/.turbo/turbo-build.log +0 -33
  3. package/.turbo/turbo-coverage.log +0 -22
  4. package/.turbo/turbo-format.log +0 -6
  5. package/.turbo/turbo-lint$colon$fix.log +0 -77
  6. package/.turbo/turbo-lint.log +0 -95
  7. package/.turbo/turbo-test.log +0 -870
  8. package/.turbo/turbo-typecheck.log +0 -5
  9. package/coverage/base.css +0 -224
  10. package/coverage/block-navigation.js +0 -87
  11. package/coverage/favicon.png +0 -0
  12. package/coverage/index.html +0 -221
  13. package/coverage/prettify.css +0 -1
  14. package/coverage/prettify.js +0 -2
  15. package/coverage/sort-arrow-sprite.png +0 -0
  16. package/coverage/sorter.js +0 -210
  17. package/coverage/src/camera/cameraService.ts.html +0 -580
  18. package/coverage/src/camera/cameraServices.ts.html +0 -163
  19. package/coverage/src/camera/cameraStateMachine.ts.html +0 -877
  20. package/coverage/src/camera/index.html +0 -146
  21. package/coverage/src/email/emailActor.ts.html +0 -130
  22. package/coverage/src/email/emailManager.ts.html +0 -1366
  23. package/coverage/src/email/emailStateMachine.ts.html +0 -1186
  24. package/coverage/src/email/index.html +0 -146
  25. package/coverage/src/flow/flowActor.ts.html +0 -124
  26. package/coverage/src/flow/flowAnalyzer.ts.html +0 -196
  27. package/coverage/src/flow/flowManager.ts.html +0 -790
  28. package/coverage/src/flow/flowServices.ts.html +0 -124
  29. package/coverage/src/flow/flowStateMachine.ts.html +0 -631
  30. package/coverage/src/flow/index.html +0 -221
  31. package/coverage/src/flow/moduleLoader.ts.html +0 -304
  32. package/coverage/src/flow/orchestratedFlowManager.ts.html +0 -778
  33. package/coverage/src/flow/orchestratedFlowStateMachine.ts.html +0 -1060
  34. package/coverage/src/http/api.ts.html +0 -355
  35. package/coverage/src/http/endpoints.ts.html +0 -136
  36. package/coverage/src/http/index.html +0 -131
  37. package/coverage/src/index.html +0 -116
  38. package/coverage/src/phone/index.html +0 -146
  39. package/coverage/src/phone/phoneActor.ts.html +0 -130
  40. package/coverage/src/phone/phoneManager.ts.html +0 -1459
  41. package/coverage/src/phone/phoneStateMachine.ts.html +0 -1351
  42. package/coverage/src/recordings/index.html +0 -116
  43. package/coverage/src/recordings/recordingsRepository.ts.html +0 -229
  44. package/coverage/src/selfie/index.html +0 -191
  45. package/coverage/src/selfie/selfieActor.ts.html +0 -136
  46. package/coverage/src/selfie/selfieErrorUtils.ts.html +0 -283
  47. package/coverage/src/selfie/selfieManager.ts.html +0 -988
  48. package/coverage/src/selfie/selfieStateMachine.ts.html +0 -2497
  49. package/coverage/src/selfie/selfieUploadService.ts.html +0 -328
  50. package/coverage/src/selfie/types.ts.html +0 -394
  51. package/coverage/src/setup.ts.html +0 -598
  52. package/src/camera/cameraActor.ts +0 -21
  53. package/src/camera/cameraService.test.ts +0 -437
  54. package/src/camera/cameraService.ts +0 -165
  55. package/src/camera/cameraServices.test.ts +0 -66
  56. package/src/camera/cameraServices.ts +0 -26
  57. package/src/camera/cameraStateMachine.test.ts +0 -602
  58. package/src/camera/cameraStateMachine.ts +0 -264
  59. package/src/camera/index.ts +0 -5
  60. package/src/camera/types.ts +0 -17
  61. package/src/device/getBrowser.ts +0 -31
  62. package/src/device/getDeviceClass.ts +0 -29
  63. package/src/device/index.ts +0 -2
  64. package/src/email/__mocks__/emailMocks.ts +0 -59
  65. package/src/email/emailActor.ts +0 -15
  66. package/src/email/emailManager.test.ts +0 -573
  67. package/src/email/emailManager.ts +0 -427
  68. package/src/email/emailServices.ts +0 -66
  69. package/src/email/emailStateMachine.test.ts +0 -741
  70. package/src/email/emailStateMachine.ts +0 -367
  71. package/src/email/index.ts +0 -39
  72. package/src/email/types.ts +0 -60
  73. package/src/events/addEvent.ts +0 -20
  74. package/src/events/types.ts +0 -7
  75. package/src/flow/__mocks__/flowMocks.ts +0 -84
  76. package/src/flow/flowActor.ts +0 -13
  77. package/src/flow/flowAnalyzer.test.ts +0 -266
  78. package/src/flow/flowAnalyzer.ts +0 -37
  79. package/src/flow/flowCompletionService.ts +0 -21
  80. package/src/flow/flowManager.test.ts +0 -560
  81. package/src/flow/flowManager.ts +0 -235
  82. package/src/flow/flowServices.test.ts +0 -109
  83. package/src/flow/flowServices.ts +0 -13
  84. package/src/flow/flowStateMachine.test.ts +0 -334
  85. package/src/flow/flowStateMachine.ts +0 -182
  86. package/src/flow/index.ts +0 -21
  87. package/src/flow/moduleLoader.test.ts +0 -136
  88. package/src/flow/moduleLoader.ts +0 -73
  89. package/src/flow/orchestratedFlowManager.test.ts +0 -240
  90. package/src/flow/orchestratedFlowManager.ts +0 -231
  91. package/src/flow/orchestratedFlowStateMachine.test.ts +0 -199
  92. package/src/flow/orchestratedFlowStateMachine.ts +0 -325
  93. package/src/flow/types.ts +0 -434
  94. package/src/http/__mocks__/api.ts +0 -88
  95. package/src/http/api.test.ts +0 -231
  96. package/src/http/api.ts +0 -90
  97. package/src/http/endpoints.ts +0 -17
  98. package/src/index.ts +0 -33
  99. package/src/permissions/index.ts +0 -2
  100. package/src/permissions/permissionServices.ts +0 -31
  101. package/src/permissions/types.ts +0 -3
  102. package/src/phone/__mocks__/phoneMocks.ts +0 -71
  103. package/src/phone/index.ts +0 -39
  104. package/src/phone/phoneActor.ts +0 -15
  105. package/src/phone/phoneManager.test.ts +0 -393
  106. package/src/phone/phoneManager.ts +0 -458
  107. package/src/phone/phoneServices.ts +0 -98
  108. package/src/phone/phoneStateMachine.test.ts +0 -918
  109. package/src/phone/phoneStateMachine.ts +0 -422
  110. package/src/phone/types.ts +0 -83
  111. package/src/recordings/recordingsRepository.test.ts +0 -87
  112. package/src/recordings/recordingsRepository.ts +0 -48
  113. package/src/recordings/streamingEvents.ts +0 -10
  114. package/src/selfie/__mocks__/selfieMocks.ts +0 -26
  115. package/src/selfie/index.ts +0 -14
  116. package/src/selfie/selfieActor.ts +0 -17
  117. package/src/selfie/selfieErrorUtils.test.ts +0 -116
  118. package/src/selfie/selfieErrorUtils.ts +0 -66
  119. package/src/selfie/selfieManager.test.ts +0 -297
  120. package/src/selfie/selfieManager.ts +0 -301
  121. package/src/selfie/selfieServices.ts +0 -362
  122. package/src/selfie/selfieStateMachine.test.ts +0 -283
  123. package/src/selfie/selfieStateMachine.ts +0 -804
  124. package/src/selfie/selfieUploadService.test.ts +0 -90
  125. package/src/selfie/selfieUploadService.ts +0 -81
  126. package/src/selfie/types.ts +0 -103
  127. package/src/session/index.ts +0 -5
  128. package/src/session/sessionService.ts +0 -78
  129. package/src/setup.test.ts +0 -61
  130. package/src/setup.ts +0 -171
  131. package/tsconfig.json +0 -13
  132. package/tsdown.config.ts +0 -22
  133. package/vitest.config.ts +0 -37
  134. package/vitest.setup.ts +0 -135
package/src/flow/types.ts DELETED
@@ -1,434 +0,0 @@
1
- export type EmptyConfig = Record<string, never>;
2
-
3
- export type RegulationTypes =
4
- | 'US'
5
- | 'Worldwide'
6
- | 'Other'
7
- | 'US_Illinois'
8
- | 'US_Texas'
9
- | 'US_California'
10
- | 'US_Washington';
11
-
12
- export type TutorialIdConfig = {
13
- showTutorial: boolean;
14
- enableId: boolean;
15
- enablePassport: boolean;
16
- onlyFront: boolean;
17
- onlyBack: boolean;
18
- barcodeCapture: boolean;
19
- fetchAdditionalPage: boolean;
20
- secondId: boolean;
21
- thirdId: boolean;
22
- autoCaptureTimeout: number;
23
- deviceIdleTimeout: number;
24
- captureAttempts: number;
25
- manualUploadIdCapture: boolean;
26
- digitalIdsUpload: boolean;
27
- showDocumentChooserScreen: boolean;
28
- enableIdRecording: boolean;
29
- usSmartCapture: boolean;
30
- perCountryPerDocOverrides: Record<
31
- string,
32
- Record<
33
- string,
34
- {
35
- onlyFront: boolean;
36
- onlyBack: boolean;
37
- fetchAdditionalPage: boolean;
38
- }
39
- >
40
- >;
41
- };
42
-
43
- export type FlowModuleConfig = {
44
- AUTHENTICATION: {
45
- showTutorial: boolean;
46
- autoCaptureTimeout: number;
47
- numberOfAttempts: number;
48
- type: 'ONE_TO_ONE';
49
- deepsightLiveness: 'SINGLE_FRAME' | 'MULTIMODAL' | 'VIDEOLIVENESS';
50
- validateClosedEyes: boolean;
51
- validateFaceMask: boolean;
52
- validateHeadCover: boolean;
53
- validateLenses: boolean;
54
- };
55
- ADDRESS: {
56
- disableSkipPoa: boolean;
57
- title: string;
58
- text: string;
59
- };
60
- AE_SIGNATURE: {
61
- uploadDocument: boolean;
62
- downloadDocument: boolean;
63
- issuePermanentCertificate: boolean;
64
- allowWithoutScoreValidation: boolean;
65
- validationsToSkip: ('ID' | 'FACE_RECOGNITION' | 'OTP' | 'TOTAL_SCORE')[];
66
- };
67
- CURP_VALIDATION: {
68
- curpDataMatch: boolean;
69
- deceasedStatusVerification: boolean;
70
- };
71
- CUSTOM_FIELDS: {
72
- title: string;
73
- customFields: {
74
- name: string;
75
- alias: string;
76
- type: 'INTEGER' | 'DOUBLE' | 'BOOLEAN' | 'STRING';
77
- }[];
78
- };
79
- DOCUMENT_CAPTURE: {
80
- processingType:
81
- | 'capture'
82
- | 'processPoaOcr'
83
- | 'processLoaOcr'
84
- | 'processAsylumSeekerVisaZaf'
85
- | 'processBankStatementOCR'
86
- | 'processBankCheck'
87
- | 'processV5CLogbook'
88
- | 'processCarInvoice'
89
- | 'processCirculationCard'
90
- | 'processFinanceSettlement';
91
- title: string;
92
- text: string;
93
- allowSkipDocumentCapture: boolean;
94
- };
95
- EKYB: {
96
- checkBusinessName: boolean;
97
- businessNameSource: 'userInput';
98
- checkAddress: boolean;
99
- address: 'userInput';
100
- checkTaxId: boolean;
101
- taxIdSource: 'userInput';
102
- checkUniqueBeneficialOwner: boolean;
103
- uniqueBeneficialOwnerSource: 'userInput';
104
- };
105
- EXTERNAL_VERIFICATION: {
106
- source:
107
- | 'US_DRIVERS_LICENSE_1'
108
- | 'US_TELCO_1'
109
- | 'US_TELCO_2'
110
- | 'US_CONSUMER_1'
111
- | 'US_CREDIT_BUREAU_1'
112
- | 'MX_CONSUMER_1'
113
- | 'BR_GOVT_1'
114
- | 'CA_RES_CREDIT'
115
- | 'UK_CREDIT_BUREAU_1'
116
- | 'ES_1'
117
- | 'CL_1'
118
- | 'AR_1'
119
- | 'GR_1'
120
- | 'GT_1'
121
- | 'BR_CPF_1';
122
- checkName: boolean;
123
- nameSource:
124
- | 'userInput'
125
- | 'document'
126
- | 'poa'
127
- | 'phoneModuleInput'
128
- | 'emailModuleInput';
129
- checkEmail: boolean;
130
- emailSource:
131
- | 'userInput'
132
- | 'document'
133
- | 'poa'
134
- | 'phoneModuleInput'
135
- | 'emailModuleInput';
136
- checkAddress: boolean;
137
- addressSource:
138
- | 'userInput'
139
- | 'document'
140
- | 'poa'
141
- | 'phoneModuleInput'
142
- | 'emailModuleInput';
143
- checkPhone: boolean;
144
- phoneSource:
145
- | 'userInput'
146
- | 'document'
147
- | 'poa'
148
- | 'phoneModuleInput'
149
- | 'emailModuleInput';
150
- checkSsn: boolean;
151
- ssnSource:
152
- | 'userInput'
153
- | 'document'
154
- | 'poa'
155
- | 'phoneModuleInput'
156
- | 'emailModuleInput';
157
- checkDob: boolean;
158
- dobSource:
159
- | 'userInput'
160
- | 'document'
161
- | 'poa'
162
- | 'phoneModuleInput'
163
- | 'emailModuleInput';
164
- checkNationality: boolean;
165
- nationalitySource:
166
- | 'userInput'
167
- | 'document'
168
- | 'poa'
169
- | 'phoneModuleInput'
170
- | 'emailModuleInput';
171
- checkDlNumber: boolean;
172
- dlNumberSource:
173
- | 'userInput'
174
- | 'document'
175
- | 'poa'
176
- | 'phoneModuleInput'
177
- | 'emailModuleInput';
178
- checkDlState: boolean;
179
- dlStateSource:
180
- | 'userInput'
181
- | 'document'
182
- | 'poa'
183
- | 'phoneModuleInput'
184
- | 'emailModuleInput';
185
- checkDlExpireAt: boolean;
186
- dlExpireAtSource:
187
- | 'userInput'
188
- | 'document'
189
- | 'poa'
190
- | 'phoneModuleInput'
191
- | 'emailModuleInput';
192
- checkLast4SSN: boolean;
193
- last4SSNSource:
194
- | 'userInput'
195
- | 'document'
196
- | 'poa'
197
- | 'phoneModuleInput'
198
- | 'emailModuleInput';
199
- checkIdNum: boolean;
200
- idNumSource:
201
- | 'userInput'
202
- | 'document'
203
- | 'poa'
204
- | 'phoneModuleInput'
205
- | 'emailModuleInput';
206
- checkIdNum1: boolean;
207
- idNum1Source:
208
- | 'userInput'
209
- | 'document'
210
- | 'poa'
211
- | 'phoneModuleInput'
212
- | 'emailModuleInput';
213
- checkGender: boolean;
214
- genderSource:
215
- | 'userInput'
216
- | 'document'
217
- | 'poa'
218
- | 'phoneModuleInput'
219
- | 'emailModuleInput';
220
- };
221
- EMAIL: {
222
- otpVerification: boolean;
223
- otpExpirationInMinutes: number;
224
- prefill?: boolean;
225
- };
226
- FACE_MATCH: {
227
- matchingType: 'selfieVsId' | 'selfieVsNfc' | 'idVsNfc' | 'nfc3Way';
228
- disableFaceMatchAnimation: boolean;
229
- };
230
- FINISH_GPT: {
231
- finishgptCompanyName: string;
232
- };
233
- GEOLOCATION: {
234
- allowUserToSkipGeolocation: boolean;
235
- };
236
- INE_VALIDATION: {
237
- facialValidation: boolean;
238
- alternativeFacialValidation: boolean;
239
- fallbackEnabled: boolean;
240
- scrapingMethod: boolean;
241
- scrapingV2: boolean;
242
- scrapingV3: boolean;
243
- failUnsupportedId: boolean;
244
- dataValidation: boolean;
245
- backgroundExecution: boolean;
246
- mockConnectionError: boolean;
247
- mockUserNotFoundError: boolean;
248
- mockOK: boolean;
249
- };
250
- GOVT_VALIDATION_PROVISIONING: {
251
- validationCountries: string[];
252
- facialValidation: boolean;
253
- dataValidation: boolean;
254
- faceAndDataValidation: boolean;
255
- addressValidation: boolean;
256
- backgroundExecution: boolean;
257
- faceMatchOverrideDataScore: boolean;
258
- useCroppedIdFacePhoto: boolean;
259
- };
260
- TUTORIAL_ID: TutorialIdConfig;
261
- ID: TutorialIdConfig;
262
- SECOND_ID: TutorialIdConfig;
263
- THIRD_ID: TutorialIdConfig;
264
- ID_OCR: {
265
- editableOcr: boolean;
266
- };
267
- INCODE_WATCHLIST: {
268
- failIfFaceOnBlocklist: boolean;
269
- addSuspectedFraudAutomatically: boolean;
270
- autoExecution: boolean;
271
- };
272
- INSTANT_BAV: {
273
- bavVendorCountry:
274
- | 'US'
275
- | 'CA'
276
- | 'AU'
277
- | 'NZ'
278
- | 'BR'
279
- | 'MX'
280
- | 'CO'
281
- | 'UK'
282
- | 'EU';
283
- bavNumberOfRetries: number;
284
- };
285
- ML_CONSENT: {
286
- consentType: RegulationTypes;
287
- };
288
- NFC_SCAN: {
289
- nfcAvailability: boolean;
290
- nfcValidation: boolean;
291
- showInitialDataConfirmationScreen: boolean;
292
- };
293
- PHONE: {
294
- otpVerification: boolean;
295
- otpExpirationInMinutes: number;
296
- prefill: boolean;
297
- };
298
- SELFIE: {
299
- showTutorial: boolean;
300
- showPreview: boolean;
301
- assistedOnboarding: boolean;
302
- enableFaceRecording: boolean;
303
- autoCaptureTimeout: number;
304
- captureAttempts: number;
305
- validateLenses: boolean;
306
- validateFaceMask: boolean;
307
- validateHeadCover: boolean;
308
- validateClosedEyes: boolean;
309
- validateBrightness: boolean;
310
- deepsightLiveness: 'SINGLE_FRAME' | 'MULTIMODAL' | 'VIDEOLIVENESS';
311
- };
312
- SIGNATURE: {
313
- title: string;
314
- subTitle: string;
315
- };
316
- USER_CONSENT: {
317
- title: string;
318
- text: string;
319
- };
320
- CONFERENCE: {
321
- enableConferenceOtp: boolean;
322
- };
323
- VIDEO_ONBOARDING: {
324
- useAsSelfie: boolean;
325
- showTutorials: boolean;
326
- companyName: string;
327
- checkLiveness: boolean;
328
- checkIdScan: boolean;
329
- checkDocumentScan: boolean;
330
- compareIdEnabled: boolean;
331
- compareOcrEnabled: boolean;
332
- compareBackIdEnabled: boolean;
333
- compareBackOcrEnabled: boolean;
334
- checkVoiceConsent: boolean;
335
- voiceConsentQuestions: number;
336
- selfieQualityAffectsScore: boolean;
337
- maxWaitingVideoSelfieFile: number;
338
- lastSecondsVideoQualityCheck: boolean;
339
- lastSecondsVideoQualityCheckDuration: number;
340
- validateClosedEyes: boolean;
341
- validateFaceMask: boolean;
342
- validateHeadCover: boolean;
343
- validateLenses: boolean;
344
- };
345
- DYNAMIC_FORMS: {
346
- screens: {
347
- title: string;
348
- hideTitle: boolean;
349
- questions: {
350
- questionId: string;
351
- overrides: string | null;
352
- isPredefined: boolean;
353
- predefinedQuestionType: string | null;
354
- question: string;
355
- inputType:
356
- | 'NUMBER'
357
- | 'CPF'
358
- | 'COUNTRY'
359
- | 'NATIONALITY'
360
- | 'DATE'
361
- | 'PHONE'
362
- | 'EMAIL'
363
- | 'TEXT'
364
- | 'MULTISELECT'
365
- | 'YESNO'
366
- | 'SELECT';
367
- options: string[];
368
- }[];
369
- }[];
370
- };
371
- COMBINED_CONSENT: {
372
- combinedConsents: string;
373
- };
374
- QE_SIGNATURE: {
375
- uploadDocument: boolean;
376
- downloadDocument: boolean;
377
- };
378
- CERTIFICATE_ISSUANCE: {
379
- region: string;
380
- type: 'ONE_TIME' | 'SHORT_TERM' | 'LONG_TERM';
381
- };
382
- // Empty configs
383
- ANTIFRAUD: EmptyConfig;
384
- CHECKBOX_SIGNATURE: EmptyConfig;
385
- CROSS_DOCUMENT_DATA_MATCH: EmptyConfig;
386
- DEVICE_FINGERPRINT: EmptyConfig;
387
- FACE_ONBOARDING: EmptyConfig;
388
- FIELD_COMPARISON: EmptyConfig;
389
- FISCAL_QR: EmptyConfig;
390
- GENERATE_QR: EmptyConfig;
391
- INSTANT_VERIFY: EmptyConfig;
392
- IP_ADDRESS: EmptyConfig;
393
- NAME_CAPTURE: EmptyConfig;
394
- SHOW_RESULTS: EmptyConfig;
395
- STADIUM_SELECTOR: EmptyConfig;
396
- UNIVERSAL_IDENTITY: EmptyConfig;
397
- WATCHLIST: EmptyConfig;
398
- TRUST_GRAPH: EmptyConfig;
399
- WATCHLIST_BUSINESS: EmptyConfig;
400
- };
401
-
402
- export type FlowModule = {
403
- [K in keyof FlowModuleConfig]: {
404
- key: K;
405
- configuration: FlowModuleConfig[K];
406
- };
407
- }[keyof FlowModuleConfig];
408
-
409
- export type Flow = {
410
- flowId: string;
411
- name: string;
412
- autoApproveEnabled?: boolean;
413
- autoApproveLevel?: 'LOW' | 'MEDIUM' | 'HIGH';
414
- checkTutorials?: boolean;
415
- checkAuthorization?: boolean;
416
- redirectDesktopToMobile?: boolean;
417
- disableUnsupportedBrowserScreen?: boolean;
418
- qrPhishingResistance?: boolean;
419
- addContinueToDesktop?: boolean;
420
- redirectOriginOnly?: boolean;
421
- displayOnboardingResultOnDesktop?: boolean;
422
- enableMultipleOnboardings?: boolean;
423
- disableLaunchScreen?: boolean;
424
- enableSardineRisk?: boolean;
425
- mandatoryConsentCheck?: boolean;
426
- disableSmsOption?: boolean;
427
- mergeSessionRecordings?: boolean;
428
- ageAssurance?: boolean;
429
- flowModules: FlowModule[];
430
- enforceCaptureAttemptLimits?: boolean;
431
- enableFraudAi?: boolean;
432
- getEnableIdOnlyIdentity?: boolean;
433
- ds?: boolean;
434
- };
@@ -1,88 +0,0 @@
1
- import type { HttpResponse } from '@incodetech/infra';
2
- import type { Mock } from 'vitest';
3
- import { vi } from 'vitest';
4
-
5
- export function createMockResponse<T>(data: T, ok = true): HttpResponse<T> {
6
- return {
7
- ok,
8
- status: ok ? 200 : 400,
9
- statusText: ok ? 'OK' : 'Bad Request',
10
- url: '',
11
- headers: {},
12
- data,
13
- };
14
- }
15
-
16
- type MockHttpClient = {
17
- defaults: {
18
- baseURL: string;
19
- headers: Record<string, string>;
20
- };
21
- request: Mock;
22
- get: Mock;
23
- post: Mock;
24
- put: Mock;
25
- patch: Mock;
26
- delete: Mock;
27
- head: Mock;
28
- options: Mock;
29
- setHeader: Mock;
30
- };
31
-
32
- export function createMockHttpClient(): MockHttpClient {
33
- return {
34
- defaults: {
35
- baseURL: 'https://mock-api.test',
36
- headers: {},
37
- },
38
- request: vi.fn(),
39
- get: vi.fn(),
40
- post: vi.fn(),
41
- put: vi.fn(),
42
- patch: vi.fn(),
43
- delete: vi.fn(),
44
- head: vi.fn(),
45
- options: vi.fn(),
46
- setHeader: vi.fn(),
47
- };
48
- }
49
-
50
- const mockClient = createMockHttpClient();
51
-
52
- export const setClient = vi.fn();
53
- export const getApi = vi.fn().mockReturnValue(mockClient);
54
- export const isApiConfigured = vi.fn().mockReturnValue(true);
55
- export const resetApi = vi.fn();
56
-
57
- export const api = {
58
- get defaults() {
59
- return mockClient.defaults;
60
- },
61
- get: mockClient.get,
62
- post: mockClient.post,
63
- put: mockClient.put,
64
- patch: mockClient.patch,
65
- delete: mockClient.delete,
66
- head: mockClient.head,
67
- options: mockClient.options,
68
- request: mockClient.request,
69
- setHeader: mockClient.setHeader,
70
- };
71
-
72
- export function resetMocks(): void {
73
- mockClient.request.mockReset();
74
- mockClient.get.mockReset();
75
- mockClient.post.mockReset();
76
- mockClient.put.mockReset();
77
- mockClient.patch.mockReset();
78
- mockClient.delete.mockReset();
79
- mockClient.head.mockReset();
80
- mockClient.options.mockReset();
81
- mockClient.setHeader.mockReset();
82
- setClient.mockReset();
83
- getApi.mockReset().mockReturnValue(mockClient);
84
- isApiConfigured.mockReset().mockReturnValue(true);
85
- resetApi.mockReset();
86
- }
87
-
88
- export { mockClient };