Skip to content

Commit 0edbbdc

Browse files
authored
docs(tests) - centralize mocks (#804)
* feat(onboarding) - make work happen to load dynamic versions of basic information * correct docs * add benefits * upgrade limits * add utils * add tests * fix(force-value) - fix title property * fix props * solve flat fieldsets * remove logs * fix test * add tests * add fixtures * add tests * add tests * remove log * reduce bundle * format * refactor company tests * refactor mocks
1 parent 76ca822 commit 0edbbdc

10 files changed

Lines changed: 700 additions & 736 deletions

File tree

src/common/api/fixtures/companies.ts

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,3 +112,33 @@ export const mockCompanyPricingPlansResponse = {
112112
],
113113
},
114114
};
115+
116+
export const mockCompanyResponse = {
117+
data: {
118+
company: {
119+
id: 'c3c22940-e118-425c-9e31-f2fd4d43c6d8',
120+
name: 'vadance',
121+
status: 'active',
122+
country_code: 'GBR',
123+
updated_at: '2025-05-30T11:34:39',
124+
external_id: null,
125+
created_at: '2024-08-27T22:45:26',
126+
phone_number: '+12403606587',
127+
bank_account_details: null,
128+
tax_number: '7984469',
129+
registration_number: null,
130+
terms_of_service_accepted_at: '2024-08-27T22:45:26Z',
131+
desired_currency: 'USD',
132+
company_owner_email: 'mohit.mahindroo+vadance@remote.com',
133+
company_owner_name: 'Michelll sdassPustomer',
134+
address_details: {
135+
address: '1509 Broderick St',
136+
address_line_2: 'Flat number 123',
137+
city: 'London',
138+
postal_code: 'SW79 8SY',
139+
},
140+
default_legal_entity_credit_risk_status: 'not_started',
141+
company_owner_user_id: 'a8a99466-a159-4bef-a9e1-0cb6939542e1',
142+
},
143+
},
144+
};

src/common/api/fixtures/employments.ts

Lines changed: 594 additions & 0 deletions
Large diffs are not rendered by default.

src/flows/ContractorOnboarding/tests/SaveDraftButton.test.tsx

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ import { render, screen, fireEvent, waitFor } from '@testing-library/react';
1818
import { http, HttpResponse } from 'msw';
1919
import { PropsWithChildren } from 'react';
2020
import { mockBaseResponse } from '@/src/common/api/fixtures/base';
21-
import { companyResponse } from '@/src/flows/Onboarding/tests/fixtures';
2221
import { mockCOROnlyResponse } from '@/src/common/api/fixtures/contractors-subscriptions';
2322

2423
const mockSuccess = vi.fn();
@@ -103,9 +102,6 @@ describe('SaveDraftButton', () => {
103102
mockRender.mockReset();
104103
queryClient.clear();
105104
server.use(
106-
http.get('*/v1/companies/:companyId', () => {
107-
return HttpResponse.json(companyResponse);
108-
}),
109105
http.get('*/v1/countries/PRT/employment_basic_information*', () => {
110106
return HttpResponse.json(mockBaseResponse);
111107
}),

src/flows/Onboarding/tests/OnboardingFlow.basicInformation.v3.test.tsx

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,9 @@ import { OnboardingFlow } from '@/src/flows/Onboarding/OnboardingFlow';
1010
import {
1111
basicInformationSchemaV3Portugal,
1212
basicInformationSchemaV3Korea,
13-
companyResponse,
1413
employmentDefaultResponse,
1514
employmentUpdatedResponse,
16-
benefitOffersSchema,
1715
contractDetailsSchemaV1Portugal,
18-
benefitOffersResponse,
1916
} from '@/src/flows/Onboarding/tests/fixtures';
2017
import {
2118
fillDatePickerByTestId,
@@ -106,9 +103,6 @@ describe('OnboardingFlow - Basic Information v3', () => {
106103
queryClient.clear();
107104

108105
server.use(
109-
http.get('*/v1/companies/:companyId', () => {
110-
return HttpResponse.json(companyResponse);
111-
}),
112106
http.get('*/v1/employments/:id', ({ params }) => {
113107
const employmentId = params?.id;
114108
return HttpResponse.json({
@@ -122,12 +116,6 @@ describe('OnboardingFlow - Basic Information v3', () => {
122116
},
123117
});
124118
}),
125-
http.get('*/v1/employments/*/benefit-offers/schema', () => {
126-
return HttpResponse.json(benefitOffersSchema);
127-
}),
128-
http.get('*/v1/employments/*/benefit-offers', () => {
129-
return HttpResponse.json(benefitOffersResponse);
130-
}),
131119
);
132120
});
133121

src/flows/Onboarding/tests/OnboardingFlow.test.tsx

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,11 @@ import { OnboardingFlow } from '@/src/flows/Onboarding/OnboardingFlow';
1212
import {
1313
basicInformationSchemaV1Portugal,
1414
contractDetailsSchemaV1Portugal,
15-
benefitOffersSchema,
1615
employmentCreatedResponse,
1716
employmentUpdatedResponse,
18-
benefitOffersResponse,
1917
employmentDefaultResponse,
2018
benefitOffersUpdatedResponse,
2119
inviteResponse,
22-
companyResponse,
2320
conversionFromEURToUSD,
2421
employmentSouthKoreaResponse,
2522
contractDetailsSchemaV1SouthKorea,
@@ -300,9 +297,6 @@ describe('OnboardingFlow', () => {
300297
queryClient.clear();
301298

302299
server.use(
303-
http.get('*/v1/companies/:companyId', () => {
304-
return HttpResponse.json(companyResponse);
305-
}),
306300
http.get('*/v1/employments/:id', ({ params }) => {
307301
// Create a response with the actual employment ID from the request
308302
const employmentId = params?.id;
@@ -331,12 +325,7 @@ describe('OnboardingFlow', () => {
331325
http.get('*/v1/countries/PRT/contract_details*', () => {
332326
return HttpResponse.json(contractDetailsSchemaV1Portugal);
333327
}),
334-
http.get('*/v1/employments/*/benefit-offers/schema', () => {
335-
return HttpResponse.json(benefitOffersSchema);
336-
}),
337-
http.get('*/v1/employments/*/benefit-offers', () => {
338-
return HttpResponse.json(benefitOffersResponse);
339-
}),
328+
340329
http.post('*/v1/employments', () => {
341330
return HttpResponse.json(employmentCreatedResponse);
342331
}),

src/flows/Onboarding/tests/OnboardingInvite.test.tsx

Lines changed: 46 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
1+
import { mockCompanyResponse } from '@/src/common/api/fixtures/companies';
12
import { OnboardingFlow } from '@/src/flows/Onboarding/OnboardingFlow';
23
import {
34
basicInformationSchemaV1Portugal,
4-
benefitOffersResponse,
5-
benefitOffersSchema,
6-
companyResponse,
75
contractDetailsSchemaV1Portugal,
86
employmentDefaultResponse,
97
} from '@/src/flows/Onboarding/tests/fixtures';
@@ -77,10 +75,6 @@ describe('OnboardingInvite', () => {
7775
queryClient.clear();
7876

7977
server.use(
80-
http.get('*/v1/companies/:companyId', () => {
81-
return HttpResponse.json(companyResponse);
82-
}),
83-
8478
http.get('*/v1/countries/*/employment_basic_information*', () => {
8579
return HttpResponse.json(basicInformationSchemaV1Portugal);
8680
}),
@@ -93,13 +87,6 @@ describe('OnboardingInvite', () => {
9387
return HttpResponse.json(employmentDefaultResponse);
9488
}),
9589

96-
http.get('*/v1/employments/*/benefit-offers/schema', () => {
97-
return HttpResponse.json(benefitOffersSchema);
98-
}),
99-
100-
http.get('*/v1/employments/*/benefit-offers', () => {
101-
return HttpResponse.json(benefitOffersResponse);
102-
}),
10390
http.post('*/v1/employments/:employmentId/invite', () => {
10491
return HttpResponse.json({
10592
data: { status: 'ok' },
@@ -132,11 +119,11 @@ describe('OnboardingInvite', () => {
132119
server.use(
133120
http.get('*/v1/companies/:companyId', () => {
134121
return HttpResponse.json({
135-
...companyResponse,
122+
...mockCompanyResponse,
136123
data: {
137-
...companyResponse.data,
124+
...mockCompanyResponse.data,
138125
company: {
139-
...companyResponse.data.company,
126+
...mockCompanyResponse.data.company,
140127
default_legal_entity_credit_risk_status: 'deposit_required',
141128
},
142129
},
@@ -228,11 +215,11 @@ describe('OnboardingInvite', () => {
228215
server.use(
229216
http.get('*/v1/companies/:companyId', () => {
230217
return HttpResponse.json({
231-
...companyResponse,
218+
...mockCompanyResponse,
232219
data: {
233-
...companyResponse.data,
220+
...mockCompanyResponse.data,
234221
company: {
235-
...companyResponse.data.company,
222+
...mockCompanyResponse.data.company,
236223
default_legal_entity_credit_risk_status: 'deposit_required',
237224
},
238225
},
@@ -286,11 +273,11 @@ describe('OnboardingInvite', () => {
286273
server.use(
287274
http.get('*/v1/companies/:companyId', () => {
288275
return HttpResponse.json({
289-
...companyResponse,
276+
...mockCompanyResponse,
290277
data: {
291-
...companyResponse.data,
278+
...mockCompanyResponse.data,
292279
company: {
293-
...companyResponse.data.company,
280+
...mockCompanyResponse.data.company,
294281
default_legal_entity_credit_risk_status: 'deposit_required',
295282
},
296283
},
@@ -330,11 +317,11 @@ describe('OnboardingInvite', () => {
330317
server.use(
331318
http.get('*/v1/companies/:companyId', () => {
332319
return HttpResponse.json({
333-
...companyResponse,
320+
...mockCompanyResponse,
334321
data: {
335-
...companyResponse.data,
322+
...mockCompanyResponse.data,
336323
company: {
337-
...companyResponse.data.company,
324+
...mockCompanyResponse.data.company,
338325
default_legal_entity_credit_risk_status: 'deposit_not_required',
339326
},
340327
},
@@ -354,11 +341,11 @@ describe('OnboardingInvite', () => {
354341
server.use(
355342
http.get('*/v1/companies/:companyId', () => {
356343
return HttpResponse.json({
357-
...companyResponse,
344+
...mockCompanyResponse,
358345
data: {
359-
...companyResponse.data,
346+
...mockCompanyResponse.data,
360347
company: {
361-
...companyResponse.data.company,
348+
...mockCompanyResponse.data.company,
362349
default_legal_entity_credit_risk_status: 'deposit_required',
363350
},
364351
},
@@ -392,11 +379,11 @@ describe('OnboardingInvite', () => {
392379
server.use(
393380
http.get('*/v1/companies/:companyId', () => {
394381
return HttpResponse.json({
395-
...companyResponse,
382+
...mockCompanyResponse,
396383
data: {
397-
...companyResponse.data,
384+
...mockCompanyResponse.data,
398385
company: {
399-
...companyResponse.data.company,
386+
...mockCompanyResponse.data.company,
400387
default_legal_entity_credit_risk_status: 'deposit_required',
401388
},
402389
},
@@ -502,11 +489,11 @@ describe('OnboardingInvite', () => {
502489
server.use(
503490
http.get('*/v1/companies/:companyId', () => {
504491
return HttpResponse.json({
505-
...companyResponse,
492+
...mockCompanyResponse,
506493
data: {
507-
...companyResponse.data,
494+
...mockCompanyResponse.data,
508495
company: {
509-
...companyResponse.data.company,
496+
...mockCompanyResponse.data.company,
510497
default_legal_entity_credit_risk_status: 'deposit_required',
511498
},
512499
},
@@ -545,11 +532,11 @@ describe('OnboardingInvite', () => {
545532
server.use(
546533
http.get('*/v1/companies/:companyId', () => {
547534
return HttpResponse.json({
548-
...companyResponse,
535+
...mockCompanyResponse,
549536
data: {
550-
...companyResponse.data,
537+
...mockCompanyResponse.data,
551538
company: {
552-
...companyResponse.data.company,
539+
...mockCompanyResponse.data.company,
553540
default_legal_entity_credit_risk_status: 'deposit_required',
554541
},
555542
},
@@ -586,11 +573,11 @@ describe('OnboardingInvite', () => {
586573
server.use(
587574
http.get('*/v1/companies/:companyId', () => {
588575
return HttpResponse.json({
589-
...companyResponse,
576+
...mockCompanyResponse,
590577
data: {
591-
...companyResponse.data,
578+
...mockCompanyResponse.data,
592579
company: {
593-
...companyResponse.data.company,
580+
...mockCompanyResponse.data.company,
594581
default_legal_entity_credit_risk_status: 'deposit_required',
595582
},
596583
},
@@ -644,11 +631,11 @@ describe('OnboardingInvite', () => {
644631
server.use(
645632
http.get('*/v1/companies/:companyId', () => {
646633
return HttpResponse.json({
647-
...companyResponse,
634+
...mockCompanyResponse,
648635
data: {
649-
...companyResponse.data,
636+
...mockCompanyResponse.data,
650637
company: {
651-
...companyResponse.data.company,
638+
...mockCompanyResponse.data.company,
652639
default_legal_entity_credit_risk_status: 'no_deposit_required',
653640
},
654641
},
@@ -712,11 +699,11 @@ describe('OnboardingInvite', () => {
712699
server.use(
713700
http.get('*/v1/companies/:companyId', () => {
714701
return HttpResponse.json({
715-
...companyResponse,
702+
...mockCompanyResponse,
716703
data: {
717-
...companyResponse.data,
704+
...mockCompanyResponse.data,
718705
company: {
719-
...companyResponse.data.company,
706+
...mockCompanyResponse.data.company,
720707
default_legal_entity_credit_risk_status: 'deposit_not_required',
721708
},
722709
},
@@ -782,11 +769,11 @@ describe('OnboardingInvite', () => {
782769
server.use(
783770
http.get('*/v1/companies/:companyId', () => {
784771
return HttpResponse.json({
785-
...companyResponse,
772+
...mockCompanyResponse,
786773
data: {
787-
...companyResponse.data,
774+
...mockCompanyResponse.data,
788775
company: {
789-
...companyResponse.data.company,
776+
...mockCompanyResponse.data.company,
790777
default_legal_entity_credit_risk_status: 'deposit_not_required',
791778
},
792779
},
@@ -809,11 +796,11 @@ describe('OnboardingInvite', () => {
809796
server.use(
810797
http.get('*/v1/companies/:companyId', () => {
811798
return HttpResponse.json({
812-
...companyResponse,
799+
...mockCompanyResponse,
813800
data: {
814-
...companyResponse.data,
801+
...mockCompanyResponse.data,
815802
company: {
816-
...companyResponse.data.company,
803+
...mockCompanyResponse.data.company,
817804
default_legal_entity_credit_risk_status: 'deposit_required',
818805
},
819806
},
@@ -847,11 +834,11 @@ describe('OnboardingInvite', () => {
847834
server.use(
848835
http.get('*/v1/companies/:companyId', () => {
849836
return HttpResponse.json({
850-
...companyResponse,
837+
...mockCompanyResponse,
851838
data: {
852-
...companyResponse.data,
839+
...mockCompanyResponse.data,
853840
company: {
854-
...companyResponse.data.company,
841+
...mockCompanyResponse.data.company,
855842
default_legal_entity_credit_risk_status: 'deposit_required',
856843
},
857844
},
@@ -1063,11 +1050,11 @@ describe('OnboardingInvite', () => {
10631050
server.use(
10641051
http.get('*/v1/companies/:companyId', () => {
10651052
return HttpResponse.json({
1066-
...companyResponse,
1053+
...mockCompanyResponse,
10671054
data: {
1068-
...companyResponse.data,
1055+
...mockCompanyResponse.data,
10691056
company: {
1070-
...companyResponse.data.company,
1057+
...mockCompanyResponse.data.company,
10711058
default_legal_entity_credit_risk_status: 'deposit_required',
10721059
},
10731060
},

0 commit comments

Comments
 (0)