diff --git a/src/notes/notes.service.spec.ts b/src/notes/notes.service.spec.ts index 0650e5746..f99e458a9 100644 --- a/src/notes/notes.service.spec.ts +++ b/src/notes/notes.service.spec.ts @@ -211,19 +211,49 @@ describe('NotesService', () => { const note = Note.create(user, alias) as Note; it('with no note', async () => { - jest.spyOn(noteRepo, 'find').mockResolvedValueOnce(null); + const createQueryBuilder = { + where: () => createQueryBuilder, + getMany: async () => { + return null; + }, + }; + jest + .spyOn(noteRepo, 'createQueryBuilder') + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + .mockImplementation(() => createQueryBuilder); const notes = await service.getUserNotes(user); expect(notes).toEqual([]); }); it('with one note', async () => { - jest.spyOn(noteRepo, 'find').mockResolvedValueOnce([note]); + const createQueryBuilder = { + where: () => createQueryBuilder, + getMany: async () => { + return [note]; + }, + }; + jest + .spyOn(noteRepo, 'createQueryBuilder') + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + .mockImplementation(() => createQueryBuilder); const notes = await service.getUserNotes(user); expect(notes).toEqual([note]); }); it('with multiple note', async () => { - jest.spyOn(noteRepo, 'find').mockResolvedValueOnce([note, note]); + const createQueryBuilder = { + where: () => createQueryBuilder, + getMany: async () => { + return [note, note]; + }, + }; + jest + .spyOn(noteRepo, 'createQueryBuilder') + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + .mockImplementation(() => createQueryBuilder); const notes = await service.getUserNotes(user); expect(notes).toEqual([note, note]); }); diff --git a/src/notes/notes.service.ts b/src/notes/notes.service.ts index 96fd1fe6c..f3d81e006 100644 --- a/src/notes/notes.service.ts +++ b/src/notes/notes.service.ts @@ -5,7 +5,7 @@ */ import { forwardRef, Inject, Injectable } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; -import { Equal, Repository } from 'typeorm'; +import { Repository } from 'typeorm'; import noteConfiguration, { NoteConfig } from '../config/note.config'; import { @@ -55,16 +55,10 @@ export class NotesService { * @return {Note[]} arary of notes owned by the user */ async getUserNotes(user: User): Promise { - const notes = await this.noteRepository.find({ - where: { owner: Equal(user) }, - relations: [ - 'owner', - 'userPermissions', - 'groupPermissions', - 'tags', - 'aliases', - ], - }); + const notes = await this.noteRepository + .createQueryBuilder('note') + .where('note.owner = :user', { user: user.id }) + .getMany(); if (notes === null) { return []; }