mirror of
https://github.com/hedgedoc/hedgedoc.git
synced 2024-11-25 03:06:31 -05:00
fix(history): fix updateHistoryEntryTimestamp to handle nullable user
If a user is null it means we're handling a guest user. Signed-off-by: Philip Molares <philip.molares@udo.edu>
This commit is contained in:
parent
8bb74bd34a
commit
cf89ecf29c
2 changed files with 14 additions and 4 deletions
|
@ -7,6 +7,7 @@ import { ConfigModule } from '@nestjs/config';
|
|||
import { EventEmitterModule } from '@nestjs/event-emitter';
|
||||
import { Test, TestingModule } from '@nestjs/testing';
|
||||
import { getDataSourceToken, getRepositoryToken } from '@nestjs/typeorm';
|
||||
import assert from 'assert';
|
||||
import { Mock } from 'ts-mockery';
|
||||
import { DataSource, EntityManager, Repository } from 'typeorm';
|
||||
|
||||
|
@ -205,6 +206,7 @@ describe('HistoryService', () => {
|
|||
Note.create(user, alias) as Note,
|
||||
user,
|
||||
);
|
||||
assert(createHistoryEntry != null);
|
||||
expect(await (await createHistoryEntry.note).aliases).toHaveLength(1);
|
||||
expect((await (await createHistoryEntry.note).aliases)[0].name).toEqual(
|
||||
alias,
|
||||
|
@ -225,6 +227,7 @@ describe('HistoryService', () => {
|
|||
Note.create(user, alias) as Note,
|
||||
user,
|
||||
);
|
||||
assert(createHistoryEntry != null);
|
||||
expect(await (await createHistoryEntry.note).aliases).toHaveLength(1);
|
||||
expect((await (await createHistoryEntry.note).aliases)[0].name).toEqual(
|
||||
alias,
|
||||
|
@ -237,6 +240,10 @@ describe('HistoryService', () => {
|
|||
);
|
||||
});
|
||||
});
|
||||
it('returns null if user is null', async () => {
|
||||
const entry = await service.updateHistoryEntryTimestamp({} as Note, null);
|
||||
expect(entry).toBeNull();
|
||||
});
|
||||
});
|
||||
|
||||
describe('updateHistoryEntry', () => {
|
||||
|
|
|
@ -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
|
||||
*/
|
||||
|
@ -74,13 +74,16 @@ export class HistoryService {
|
|||
* Updates the updatedAt timestamp of a HistoryEntry.
|
||||
* If no history entry exists, it will be created.
|
||||
* @param {Note} note - the note that the history entry belongs to
|
||||
* @param {User} user - the user that the history entry belongs to
|
||||
* @param {User | null} user - the user that the history entry belongs to
|
||||
* @return {HistoryEntry} the requested history entry
|
||||
*/
|
||||
async updateHistoryEntryTimestamp(
|
||||
note: Note,
|
||||
user: User,
|
||||
): Promise<HistoryEntry> {
|
||||
user: User | null,
|
||||
): Promise<HistoryEntry | null> {
|
||||
if (user == null) {
|
||||
return null;
|
||||
}
|
||||
try {
|
||||
const entry = await this.getEntryByNote(note, user);
|
||||
entry.updatedAt = new Date();
|
||||
|
|
Loading…
Reference in a new issue