-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy patheditorTools.test.ts
More file actions
105 lines (88 loc) · 3.1 KB
/
editorTools.test.ts
File metadata and controls
105 lines (88 loc) · 3.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
import { describe, test, beforeEach } from 'vitest';
// let accessToken: string;
// let userId: number;
describe('EditorTools API', () => {
beforeEach(async () => {
await global.db.truncateTables();
// const createdUser = await global.db.insertUser();
// userId = createdUser.id;
// accessToken = global.auth(userId);
});
describe('POST /editor-tools/add-tool', () => {
test('Returns added tool with status code 200 if tool added to all tools', () => {
const toolToAdd = {
name: 'code',
title: 'Code Tool',
exportName: 'Code',
isDefault: false,
description: '',
source: {
cdn: 'https://cdn.jsdelivr.net/npm/@editorjs/code@latest',
},
};
// eslint-disable-next-line
const formData = new FormData();
formData.append('name', toolToAdd.name);
formData.append('title', toolToAdd.title);
formData.append('exportName', toolToAdd.exportName);
formData.append('isDefault', String(toolToAdd.isDefault));
formData.append('description', toolToAdd.description);
formData.append('source', JSON.stringify(toolToAdd.source));
// const addToolResponse = await global.api?.fakeRequest({
// method: 'POST',
// headers: {
// authorization: `Bearer ${accessToken}`,
// },
// url: '/editor-tools/add-tool',
// body: formData,
// });
// TODO: Add multipart/form-data support to fakeRequest
// expect(addToolResponse?.statusCode).toBe(200);
// const body = addToolResponse?.json();
// expect(body.data).toMatchObject({
// ...toolToAdd,
// cover: '',
// userId,
// });
/**
* Check if tool was added to all tools
*/
// const getAllToolsResponse = await global.api?.fakeRequest({
// method: 'GET',
// url: '/editor-tools/all',
// });
// const allTools = getAllToolsResponse?.json();
// expect(allTools.data).toEqual(
// expect.arrayContaining([
// expect.objectContaining(toolToAdd),
// ])
// );
});
test('Returns 400 if tool data is invalid', () => {
const toolDataWithoutName = {
title: 'Code Tool',
exportName: 'Code',
isDefault: false,
source: {
cdn: 'https://cdn.jsdelivr.net/npm/@editorjs/code@latest',
},
};
// eslint-disable-next-line
const formData = new FormData();
formData.append('title', toolDataWithoutName.title);
formData.append('exportName', toolDataWithoutName.exportName);
formData.append('isDefault', String(toolDataWithoutName.isDefault));
formData.append('source', JSON.stringify(toolDataWithoutName.source));
// const response = await global.api?.fakeRequest({
// method: 'POST',
// headers: {
// authorization: `Bearer ${accessToken}`,
// },
// url: '/editor-tools/add-tool',
// body: formData,
// });
// TODO: Add multipart/form-data support to fakeRequest
// expect(response?.statusCode).toBe(200);
});
});
});