diff options
| author | Julia <julia@insertdomain.name> | 2024-10-29 03:04:25 +0000 |
|---|---|---|
| committer | Julia <julia@insertdomain.name> | 2024-10-29 03:04:25 +0000 |
| commit | 1520bc1715cd974faa9c20ae5caeceb16a4c0b8e (patch) | |
| tree | a72cd1371e1c662026b92fa8e631859afed8dbbb /packages/backend/src/server/api/endpoints/notes/create.test.ts | |
| parent | merge: Collapse user activity, files, and listenbrainz on mobile (resolves #7... (diff) | |
| parent | fix poll option limit in masto API (diff) | |
| download | sharkey-1520bc1715cd974faa9c20ae5caeceb16a4c0b8e.tar.gz sharkey-1520bc1715cd974faa9c20ae5caeceb16a4c0b8e.tar.bz2 sharkey-1520bc1715cd974faa9c20ae5caeceb16a4c0b8e.zip | |
merge: Split character limits between local and remote notes (resolves #723) (!669)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/669
Closes #723
Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Julia <julia@insertdomain.name>
Diffstat (limited to 'packages/backend/src/server/api/endpoints/notes/create.test.ts')
| -rw-r--r-- | packages/backend/src/server/api/endpoints/notes/create.test.ts | 20 |
1 files changed, 11 insertions, 9 deletions
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 f3d887bb20..18d80e867b 100644 --- a/packages/backend/src/server/api/endpoints/notes/create.test.ts +++ b/packages/backend/src/server/api/endpoints/notes/create.test.ts @@ -5,15 +5,12 @@ process.env.NODE_ENV = 'test'; -import { readFile } from 'node:fs/promises'; -import { fileURLToPath } from 'node:url'; -import { dirname } from 'node:path'; import { describe, test, expect } from '@jest/globals'; +import { loadConfig } from '@/config.js'; import { getValidator } from '../../../../../test/prelude/get-api-validator.js'; import { paramDef } from './create.js'; -const _filename = fileURLToPath(import.meta.url); -const _dirname = dirname(_filename); +const config = loadConfig(); const VALID = true; const INVALID = false; @@ -21,7 +18,12 @@ const INVALID = false; describe('api:notes/create', () => { describe('validation', () => { const v = getValidator(paramDef); - const tooLong = readFile(_dirname + '/../../../../../test/resources/misskey.svg', 'utf-8'); + const tooLong = (limit: number) => { + const arr: string[] = ['']; + arr.length = limit + 1; + arr.fill('a'); + return arr.join(''); + }; test('reject empty', () => { const valid = v({ }); @@ -71,8 +73,8 @@ describe('api:notes/create', () => { .toBe(INVALID); }); - test('over 500 characters cw', async () => { - expect(v({ text: 'Body', cw: await tooLong })) + test('over max characters cw', async () => { + expect(v({ text: '', cw: tooLong(config.maxNoteLength) })) .toBe(INVALID); }); }); @@ -220,7 +222,7 @@ describe('api:notes/create', () => { }); test('reject poll with too long choice', async () => { - expect(v({ poll: { choices: [await tooLong, '2'] } })) + expect(v({ poll: { choices: [tooLong(config.maxNoteLength), '2'] } })) .toBe(INVALID); }); |