Skip to content

Commit d23a8e8

Browse files
authored
fix: remove item name regex (#2093)
1 parent 3377b48 commit d23a8e8

6 files changed

Lines changed: 21 additions & 32 deletions

File tree

src/plugins/typebox.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ import type {
2323

2424
import { MAX_ITEM_NAME_LENGTH, MAX_USERNAME_LENGTH, MIN_USERNAME_LENGTH } from '@graasp/sdk';
2525

26-
import { ITEM_NAME_REGEX } from '../schemas/regex';
2726
import { discriminable } from './typebox/discriminable';
2827

2928
/**
@@ -114,7 +113,6 @@ export const customType = {
114113
...options,
115114
minLength: 1,
116115
maxLength: MAX_ITEM_NAME_LENGTH,
117-
pattern: ITEM_NAME_REGEX,
118116
}),
119117
} as const;
120118

src/schemas/regex.spec.ts

Lines changed: 0 additions & 19 deletions
This file was deleted.

src/schemas/regex.ts

Lines changed: 0 additions & 2 deletions
This file was deleted.

src/services/item/item.controller.update.test.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,10 @@ describe('Item routes tests', () => {
142142
});
143143

144144
it('Bad request if name is invalid', async () => {
145+
const { actor } = await seedFromJson();
146+
assertIsDefined(actor);
147+
assertIsMemberForTest(actor);
148+
mockAuthenticate(actor);
145149
// by default the item creator use an invalid item type
146150
const newItem = FolderItemFactory({ name: '' });
147151
const response = await app.inject({
@@ -152,15 +156,15 @@ describe('Item routes tests', () => {
152156
expect(response.statusMessage).toEqual(ReasonPhrases.BAD_REQUEST);
153157
expect(response.statusCode).toBe(StatusCodes.BAD_REQUEST);
154158

155-
// by default the item creator use an invalid item type
159+
// a single space is a valid name for the item
156160
const newItem1 = FolderItemFactory({ name: ' ' });
157161
const response1 = await app.inject({
158162
method: HttpMethod.Post,
159163
url: '/api/items',
160164
payload: newItem1,
161165
});
162-
expect(response1.statusMessage).toEqual(ReasonPhrases.BAD_REQUEST);
163-
expect(response1.statusCode).toBe(StatusCodes.BAD_REQUEST);
166+
expect(response1.statusMessage).toEqual(ReasonPhrases.OK);
167+
expect(response1.statusCode).toBe(StatusCodes.OK);
164168
});
165169

166170
it('Bad request if type is invalid', async () => {

src/services/item/plugins/capsule/capsule.controller.test.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -393,7 +393,11 @@ describe('Capsule routes tests', () => {
393393
});
394394

395395
it('Bad request if name is invalid', async () => {
396-
// by default the item creator use an invalid item type
396+
const { actor } = await seedFromJson();
397+
assertIsDefined(actor);
398+
assertIsMemberForTest(actor);
399+
mockAuthenticate(actor);
400+
// try to create an item with an empty name should fail
397401
const newItem = CapsuleItemFactory({ name: '' });
398402
const response = await app.inject({
399403
method: HttpMethod.Post,
@@ -403,15 +407,15 @@ describe('Capsule routes tests', () => {
403407
expect(response.statusMessage).toEqual(ReasonPhrases.BAD_REQUEST);
404408
expect(response.statusCode).toBe(StatusCodes.BAD_REQUEST);
405409

406-
// by default the item creator use an invalid item type
410+
// creating an item with a name made of spaces is allowed
407411
const newItem1 = CapsuleItemFactory({ name: ' ' });
408412
const response1 = await app.inject({
409413
method: HttpMethod.Post,
410414
url: '/api/items/capsules',
411415
payload: newItem1,
412416
});
413-
expect(response1.statusMessage).toEqual(ReasonPhrases.BAD_REQUEST);
414-
expect(response1.statusCode).toBe(StatusCodes.BAD_REQUEST);
417+
expect(response1.statusMessage).toEqual(ReasonPhrases.OK);
418+
expect(response1.statusCode).toBe(StatusCodes.OK);
415419
});
416420

417421
it('Bad request if parentId id is invalid', async () => {

src/services/item/plugins/folder/folder.controller.test.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -495,6 +495,10 @@ describe('Folder routes tests', () => {
495495
});
496496

497497
it('Bad request if name is invalid', async () => {
498+
const { actor } = await seedFromJson();
499+
assertIsDefined(actor);
500+
assertIsMember(actor);
501+
mockAuthenticate(actor);
498502
// by default the item creator use an invalid item type
499503
const newItem = FolderItemFactory({ name: '' });
500504
const response = await app.inject({
@@ -512,8 +516,8 @@ describe('Folder routes tests', () => {
512516
url: '/api/items/folders',
513517
payload: newItem1,
514518
});
515-
expect(response1.statusMessage).toEqual(ReasonPhrases.BAD_REQUEST);
516-
expect(response1.statusCode).toBe(StatusCodes.BAD_REQUEST);
519+
expect(response1.statusMessage).toEqual(ReasonPhrases.OK);
520+
expect(response1.statusCode).toBe(StatusCodes.OK);
517521
});
518522

519523
it('Bad request if parentId id is invalid', async () => {

0 commit comments

Comments
 (0)