Skip to content

Commit eef4e5a

Browse files
fix: simplify FormData mock with self-referential form property
1 parent 1a86bf0 commit eef4e5a

File tree

1 file changed

+22
-20
lines changed

1 file changed

+22
-20
lines changed

tests/resources/drafts.spec.ts

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -13,28 +13,30 @@ jest.mock('formdata-node', () => {
1313

1414
const getAppendedData = () => appendedData;
1515

16-
const createMockFormData = () => ({
17-
append(key: string, value: any): void {
18-
if (value && typeof value === 'object' && 'content' in value) {
19-
// Handle File objects
20-
appendedData[key] = value.content;
21-
} else {
22-
appendedData[key] = value;
23-
}
24-
},
25-
_getAppendedData: getAppendedData,
26-
});
16+
const createMockFormData = () => {
17+
const instance = {
18+
append(key: string, value: any): void {
19+
if (value && typeof value === 'object' && 'content' in value) {
20+
// Handle File objects
21+
appendedData[key] = value.content;
22+
} else {
23+
appendedData[key] = value;
24+
}
25+
},
26+
_getAppendedData: getAppendedData,
27+
};
28+
29+
Object.defineProperty(instance, 'form', {
30+
get() {
31+
return instance;
32+
},
33+
enumerable: true,
34+
});
35+
36+
return instance;
37+
};
2738

2839
const mockFormData = createMockFormData() as MockedFormData;
29-
const formInstance = createMockFormData();
30-
Object.defineProperty(mockFormData, 'form', {
31-
get: () => formInstance,
32-
enumerable: true,
33-
});
34-
Object.defineProperty(formInstance, 'form', {
35-
get: () => formInstance,
36-
enumerable: true,
37-
});
3840

3941
return mockFormData;
4042
}),

0 commit comments

Comments
 (0)