HistoryService: Add unit test for getEntryByNoteIdOrAlias

Also add extra test to deleteHistoryEntry

Signed-off-by: Philip Molares <philip.molares@udo.edu>
This commit is contained in:
Philip Molares 2021-03-05 12:01:04 +01:00 committed by David Mehren
parent 6ed686e657
commit 521ddc36c6
No known key found for this signature in database
GPG key ID: 185982BA4C42B7C3

View file

@ -121,6 +121,32 @@ describe('HistoryService', () => {
}); });
}); });
describe('getEntryByNoteIdOrAlias', () => {
const user = {} as User;
const alias = 'alias';
describe('works', () => {
it('with history entry', async () => {
const note = Note.create(user, alias);
const historyEntry = HistoryEntry.create(user, note);
jest.spyOn(historyRepo, 'findOne').mockResolvedValueOnce(historyEntry);
jest.spyOn(noteRepo, 'findOne').mockResolvedValueOnce(note);
expect(await service.getEntryByNoteIdOrAlias(alias, user)).toEqual(
historyEntry,
);
});
});
describe('fails', () => {
it('with an non-existing note', async () => {
jest.spyOn(noteRepo, 'findOne').mockResolvedValueOnce(undefined);
try {
await service.getEntryByNoteIdOrAlias(alias, {} as User);
} catch (e) {
expect(e).toBeInstanceOf(NotInDBError);
}
});
});
});
describe('createOrUpdateHistoryEntry', () => { describe('createOrUpdateHistoryEntry', () => {
describe('works', () => { describe('works', () => {
it('without an preexisting entry', async () => { it('without an preexisting entry', async () => {
@ -231,10 +257,11 @@ describe('HistoryService', () => {
); );
await service.deleteHistoryEntry(alias, user); await service.deleteHistoryEntry(alias, user);
}); });
});
describe('fails', () => {
const user = {} as User;
const alias = 'alias';
it('without an entry', async () => { it('without an entry', async () => {
const user = {} as User;
const alias = 'alias';
const note = Note.create(user, alias); const note = Note.create(user, alias);
jest.spyOn(historyRepo, 'findOne').mockResolvedValueOnce(undefined); jest.spyOn(historyRepo, 'findOne').mockResolvedValueOnce(undefined);
jest.spyOn(noteRepo, 'findOne').mockResolvedValueOnce(note); jest.spyOn(noteRepo, 'findOne').mockResolvedValueOnce(note);
@ -244,6 +271,14 @@ describe('HistoryService', () => {
expect(e).toBeInstanceOf(NotInDBError); expect(e).toBeInstanceOf(NotInDBError);
} }
}); });
it('without a note', async () => {
jest.spyOn(noteRepo, 'findOne').mockResolvedValueOnce(undefined);
try {
await service.getEntryByNoteIdOrAlias(alias, {} as User);
} catch (e) {
expect(e).toBeInstanceOf(NotInDBError);
}
});
}); });
}); });