Files
outline/server/models/View.test.ts
2023-10-16 21:21:03 -04:00

50 lines
1.2 KiB
TypeScript

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);
});
});
});