From 754e725b7f0d38dece186e37c1f410bc0a8bfb7d Mon Sep 17 00:00:00 2001 From: Philip Molares Date: Tue, 23 Aug 2022 18:01:45 +0200 Subject: [PATCH] test(e2e): fix notes service Signed-off-by: Philip Molares Signed-off-by: Tilman Vatteroth --- src/notes/notes.service.ts | 9 +++++++-- src/permissions/note-group-permission.entity.ts | 2 +- test/private-api/notes.e2e-spec.ts | 6 ++++++ test/public-api/notes.e2e-spec.ts | 7 ++++++- 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/notes/notes.service.ts b/src/notes/notes.service.ts index c2ca77b63..48b8a1ef4 100644 --- a/src/notes/notes.service.ts +++ b/src/notes/notes.service.ts @@ -63,6 +63,13 @@ export class NotesService { async getUserNotes(user: User): Promise { const notes = await this.noteRepository .createQueryBuilder('note') + .leftJoinAndSelect('note.aliases', 'alias') + .leftJoinAndSelect('note.owner', 'owner') + .leftJoinAndSelect('note.groupPermissions', 'group_permission') + .leftJoinAndSelect('group_permission.group', 'group') + .leftJoinAndSelect('note.userPermissions', 'user_permission') + .leftJoinAndSelect('user_permission.user', 'user') + .leftJoinAndSelect('note.tags', 'tag') .where('note.owner = :user', { user: user.id }) .getMany(); if (notes === null) { @@ -275,8 +282,6 @@ export class NotesService { //TODO: Calculate patch revisions.push(Revision.create(noteContent, noteContent, note) as Revision); note.revisions = Promise.resolve(revisions); - note.userPermissions = Promise.resolve([]); - note.groupPermissions = Promise.resolve([]); return await this.noteRepository.save(note); } diff --git a/src/permissions/note-group-permission.entity.ts b/src/permissions/note-group-permission.entity.ts index 96cd6097a..b0947789c 100644 --- a/src/permissions/note-group-permission.entity.ts +++ b/src/permissions/note-group-permission.entity.ts @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: 2021 The HedgeDoc developers (see AUTHORS file) + * SPDX-FileCopyrightText: 2022 The HedgeDoc developers (see AUTHORS file) * * SPDX-License-Identifier: AGPL-3.0-only */ diff --git a/test/private-api/notes.e2e-spec.ts b/test/private-api/notes.e2e-spec.ts index 12891efe7..1aafa74c6 100644 --- a/test/private-api/notes.e2e-spec.ts +++ b/test/private-api/notes.e2e-spec.ts @@ -414,6 +414,12 @@ describe('Notes', () => { user2, alias, ); + // Redact default read permissions + const note = await testSetup.notesService.getNoteByIdOrAlias(alias); + const everyone = await testSetup.groupService.getEveryoneGroup(); + const loggedin = await testSetup.groupService.getLoggedInGroup(); + await testSetup.permissionsService.removeGroupPermission(note, everyone); + await testSetup.permissionsService.removeGroupPermission(note, loggedin); await agent .get(`/api/private/notes/${alias}/media/`) .expect('Content-Type', /json/) diff --git a/test/public-api/notes.e2e-spec.ts b/test/public-api/notes.e2e-spec.ts index 06239d63d..fe89c517e 100644 --- a/test/public-api/notes.e2e-spec.ts +++ b/test/public-api/notes.e2e-spec.ts @@ -189,7 +189,6 @@ describe('Notes', () => { const note = await testSetup.notesService.createNote( content, user, - 'test3', ); const updateNotePermission = new NotePermissionsUpdateDto(); @@ -465,6 +464,12 @@ describe('Notes', () => { user2, alias, ); + // Redact default read permissions + const note = await testSetup.notesService.getNoteByIdOrAlias(alias); + const everyone = await testSetup.groupService.getEveryoneGroup(); + const loggedin = await testSetup.groupService.getLoggedInGroup(); + await testSetup.permissionsService.removeGroupPermission(note, everyone); + await testSetup.permissionsService.removeGroupPermission(note, loggedin); await request(testSetup.app.getHttpServer()) .get(`/api/v2/notes/${alias}/media/`) .expect('Content-Type', /json/)