fix: views.list should not include deleted users

This commit is contained in:
Tom Moor
2023-10-16 21:21:03 -04:00
parent 0bec781695
commit 03c739032d
2 changed files with 49 additions and 1 deletions

View File

@@ -0,0 +1,49 @@
import { buildTeam, buildDocument, buildUser } from "@server/test/factories";
import View from "./View";
describe("View", () => {
describe("findByDocument", () => {
it("should return list of views", async () => {
const team = await buildTeam();
const user = await buildUser({
teamId: team.id,
});
const document = await buildDocument({
teamId: team.id,
});
await View.incrementOrCreate({
documentId: document.id,
userId: user.id,
});
const views = await View.findByDocument(document.id, {
includeSuspended: false,
});
expect(views.length).toEqual(1);
expect(views[0].user.id).toEqual(user.id);
});
it("should not return views for deleted users", async () => {
const team = await buildTeam();
const user = await buildUser({
teamId: team.id,
});
const document = await buildDocument({
teamId: team.id,
});
await View.incrementOrCreate({
documentId: document.id,
userId: user.id,
});
await user.destroy();
const views = await View.findByDocument(document.id, {
includeSuspended: false,
});
expect(views.length).toEqual(0);
});
});
});

View File

@@ -82,7 +82,6 @@ class View extends IdModel {
include: [
{
model: User,
paranoid: false,
required: true,
...(includeSuspended
? {}