From 02d7ffd305013d3189c189ac585ca5d6e50c2db6 Mon Sep 17 00:00:00 2001 From: tamaina Date: Sun, 26 Feb 2023 11:10:24 +0000 Subject: [PATCH] =?UTF-8?q?fix(server):=20=E5=8D=98=E7=B4=94=E3=81=ABrenot?= =?UTF-8?q?e=E3=81=A7=E3=81=8D=E3=81=AA=E3=81=84=E3=81=AE=E3=82=92?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/server/api/endpoints/notes/create.test.ts | 15 +++++++++++++++ .../src/server/api/endpoints/notes/create.ts | 1 + 2 files changed, 16 insertions(+) diff --git a/packages/backend/src/server/api/endpoints/notes/create.test.ts b/packages/backend/src/server/api/endpoints/notes/create.test.ts index 4e5ec361f9..6bff7fc0c9 100644 --- a/packages/backend/src/server/api/endpoints/notes/create.test.ts +++ b/packages/backend/src/server/api/endpoints/notes/create.test.ts @@ -235,6 +235,21 @@ describe('api:notes/create', () => { }); }); + describe('renote', () => { + test('just a renote', () => { + expect(v({ renoteId: '1' })) + .toBe(VALID); + }); + test('just a quote', () => { + expect(v({ text: 'Hello, world!', renoteId: '1' })) + .toBe(VALID); + }); + test('reject invalid renoteId', () => { + expect(v({ renoteId: 'あ' })) + .toBe(INVALID); + }); + }); + test('text, fileIds and poll', () => { expect(v({ text: 'Hello, world!', fileIds: ['1', '2', '3'], poll: { choices: ['a', 'b', 'c'] } })) .toBe(VALID); diff --git a/packages/backend/src/server/api/endpoints/notes/create.ts b/packages/backend/src/server/api/endpoints/notes/create.ts index 2848cd7df1..786ad103b0 100644 --- a/packages/backend/src/server/api/endpoints/notes/create.ts +++ b/packages/backend/src/server/api/endpoints/notes/create.ts @@ -147,6 +147,7 @@ export const paramDef = { // (re)note with text, files and poll are optional anyOf: [ { required: ['text'] }, + { required: ['renoteId'] }, { required: ['fileIds'] }, { required: ['mediaIds'] }, { required: ['poll'] },