Skip to content

Commit a07998d

Browse files
committed
fix: 1 test
1 parent 394023c commit a07998d

File tree

6 files changed

+37
-21
lines changed

6 files changed

+37
-21
lines changed

Diff for: src/presentation/http/router/dto/AddEditorTool.dto.ts

-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
import EditorTool from '@domain/entities/editorTools.js';
21
import type { MultipartFields, MultipartFile, MultipartValue } from '@fastify/multipart';
3-
import { Multipart } from '@fastify/multipart';
42

53
export interface AddEditorToolDto extends MultipartFields {
64
name: MultipartValue;

Diff for: src/presentation/http/router/editorTools.test.ts

+20-2
Original file line numberDiff line numberDiff line change
@@ -19,18 +19,28 @@ describe('EditorTools API', () => {
1919
title: 'Code Tool',
2020
exportName: 'Code',
2121
isDefault: false,
22+
description: '',
2223
source: {
2324
cdn: 'https://cdn.jsdelivr.net/npm/@editorjs/code@latest',
2425
},
2526
};
2627

28+
const formData = new FormData();
29+
30+
formData.append('name', toolToAdd.name);
31+
formData.append('title', toolToAdd.title);
32+
formData.append('exportName', toolToAdd.exportName);
33+
formData.append('isDefault', String(toolToAdd.isDefault));
34+
formData.append('description', toolToAdd.description);
35+
formData.append('source', JSON.stringify(toolToAdd.source));
36+
2737
const addToolResponse = await global.api?.fakeRequest({
2838
method: 'POST',
2939
headers: {
3040
authorization: `Bearer ${accessToken}`,
3141
},
3242
url: '/editor-tools/add-tool',
33-
body: toolToAdd,
43+
body: formData,
3444
});
3545

3646
expect(addToolResponse?.statusCode).toBe(200);
@@ -39,6 +49,7 @@ describe('EditorTools API', () => {
3949

4050
expect(body.data).toMatchObject({
4151
...toolToAdd,
52+
cover: '',
4253
userId,
4354
});
4455

@@ -68,13 +79,20 @@ describe('EditorTools API', () => {
6879
},
6980
};
7081

82+
const formData = new FormData();
83+
84+
formData.append('title', toolDataWithoutName.title);
85+
formData.append('exportName', toolDataWithoutName.exportName);
86+
formData.append('isDefault', String(toolDataWithoutName.isDefault));
87+
formData.append('source', JSON.stringify(toolDataWithoutName.source));
88+
7189
const response = await global.api?.fakeRequest({
7290
method: 'POST',
7391
headers: {
7492
authorization: `Bearer ${accessToken}`,
7593
},
7694
url: '/editor-tools/add-tool',
77-
body: toolDataWithoutName,
95+
body: formData,
7896
});
7997

8098
expect(response?.statusCode).toBe(400);

Diff for: src/presentation/http/router/editorTools.ts

+10-13
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import type { FastifyPluginCallback } from 'fastify';
22
import type EditorToolsService from '@domain/service/editorTools.js';
3-
import type EditorTool from '@domain/entities/editorTools.js';
43
import type { AddEditorToolDto } from './dto/AddEditorTool.dto.js';
54
import type FileUploaderService from '@domain/service/fileUploader.service.js';
65
import fastifyMultipart from '@fastify/multipart';
@@ -116,19 +115,17 @@ const EditorToolsRouter: FastifyPluginCallback<EditorToolsRouterOptions> = async
116115

117116
let coverKey: string | undefined = undefined;
118117

119-
if (editorTool.cover) {
120-
const coverBuffer = await editorTool.cover.toBuffer();
118+
const coverBuffer = await editorTool.cover.toBuffer();
121119

122-
coverKey = await fileUploaderService.uploadFile({
123-
data: coverBuffer,
124-
name: createFileId(),
125-
mimetype: editorTool.cover.mimetype,
126-
}, {
127-
isEditorToolCover: true,
128-
}, {
129-
userId,
130-
});
131-
}
120+
coverKey = await fileUploaderService.uploadFile({
121+
data: coverBuffer,
122+
name: createFileId(),
123+
mimetype: editorTool.cover.mimetype,
124+
}, {
125+
isEditorToolCover: true,
126+
}, {
127+
userId,
128+
});
132129

133130
const tool = await editorToolsService.addTool({
134131
title: String(editorTool.title?.value),

Diff for: src/presentation/http/router/user.test.ts

+3
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ describe('User API', () => {
5959
exportName: 'Code',
6060
userId: null,
6161
isDefault: false,
62+
description: 'Code tool for Editor.js',
6263
source: {
6364
cdn: 'https://cdn.jsdelivr.net/npm/@editorjs/code@latest',
6465
},
@@ -85,6 +86,8 @@ describe('User API', () => {
8586
name: 'code',
8687
title: 'Code Tool',
8788
exportName: 'Code',
89+
description: 'Code tool for Editor.js',
90+
cover: '',
8891
userId: null,
8992
isDefault: false,
9093
source: {

Diff for: src/repository/editorTools.repository.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,8 @@ export default class EditorToolsRepository {
6060

6161
/**
6262
* Update tool cover
63-
* @param editorToolId
64-
* @param cover
63+
* @param editorToolId - unique tool identifier
64+
* @param cover - new tool cover
6565
*/
6666
public async updateToolCover(editorToolId: EditorTool['id'], cover: EditorTool['cover']): Promise<void> {
6767
return await this.storage.updateToolCover(editorToolId, cover);

Diff for: src/tests/utils/database-helpers.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -246,8 +246,8 @@ export default class DatabaseHelpers {
246246
public async insertEditorTool(editorTool: EditorToolMockCreationAttributes): Promise<EditorTool['id']> {
247247
const isDefault = editorTool.isDefault ?? false;
248248

249-
const [result, _] = await this.orm.connection.query(`INSERT INTO public.editor_tools ("name", "title", "export_name", "source", "is_default")
250-
VALUES ('${editorTool.name}', '${editorTool.title}', '${editorTool.exportName}', '${JSON.stringify(editorTool.source)}', ${isDefault})
249+
const [result, _] = await this.orm.connection.query(`INSERT INTO public.editor_tools ("name", "title", "export_name", "source", "is_default", "description")
250+
VALUES ('${editorTool.name}', '${editorTool.title}', '${editorTool.exportName}', '${JSON.stringify(editorTool.source)}', ${isDefault}, '${editorTool.description}')
251251
RETURNING "id"`);
252252

253253
const addedToolData = result[0];

0 commit comments

Comments
 (0)