chore: Improve perf of server tests (#5785)

This commit is contained in:
Tom Moor
2023-09-06 07:14:49 -04:00
committed by GitHub
parent a724a21c21
commit 3eb947e9a5
69 changed files with 2045 additions and 1551 deletions

View File

@@ -1,5 +1,11 @@
import { buildEvent, buildUser } from "@server/test/factories";
import { seed, getTestServer, setCloudHosted } from "@server/test/support";
import {
buildAdmin,
buildCollection,
buildDocument,
buildEvent,
buildUser,
} from "@server/test/factories";
import { getTestServer, setCloudHosted } from "@server/test/support";
const server = getTestServer();
@@ -7,7 +13,17 @@ describe("#events.list", () => {
beforeEach(setCloudHosted);
it("should only return activity events", async () => {
const { user, admin, document, collection } = await seed();
const user = await buildUser();
const admin = await buildAdmin({ teamId: user.teamId });
const collection = await buildCollection({
userId: user.id,
teamId: user.teamId,
});
const document = await buildDocument({
userId: user.id,
collectionId: collection.id,
teamId: user.teamId,
});
// audit event
await buildEvent({
name: "users.promote",
@@ -35,7 +51,17 @@ describe("#events.list", () => {
});
it("should return audit events", async () => {
const { user, admin, document, collection } = await seed();
const user = await buildUser();
const admin = await buildAdmin({ teamId: user.teamId });
const collection = await buildCollection({
userId: user.id,
teamId: user.teamId,
});
const document = await buildDocument({
userId: user.id,
collectionId: collection.id,
teamId: user.teamId,
});
// audit event
const auditEvent = await buildEvent({
name: "users.promote",
@@ -65,7 +91,17 @@ describe("#events.list", () => {
});
it("should allow filtering by actorId", async () => {
const { user, admin, document, collection } = await seed();
const user = await buildUser();
const admin = await buildAdmin({ teamId: user.teamId });
const collection = await buildCollection({
userId: user.id,
teamId: user.teamId,
});
const document = await buildDocument({
userId: user.id,
collectionId: collection.id,
teamId: user.teamId,
});
// audit event
const auditEvent = await buildEvent({
name: "users.promote",
@@ -95,7 +131,17 @@ describe("#events.list", () => {
});
it("should allow filtering by documentId", async () => {
const { user, admin, document, collection } = await seed();
const user = await buildUser();
const admin = await buildAdmin({ teamId: user.teamId });
const collection = await buildCollection({
userId: user.id,
teamId: user.teamId,
});
const document = await buildDocument({
userId: user.id,
collectionId: collection.id,
teamId: user.teamId,
});
const event = await buildEvent({
name: "documents.publish",
collectionId: collection.id,
@@ -116,7 +162,16 @@ describe("#events.list", () => {
});
it("should not return events for documentId without authorization", async () => {
const { user, document, collection } = await seed();
const user = await buildUser();
const collection = await buildCollection({
userId: user.id,
teamId: user.teamId,
});
const document = await buildDocument({
userId: user.id,
collectionId: collection.id,
teamId: user.teamId,
});
const actor = await buildUser();
await buildEvent({
name: "documents.publish",
@@ -137,7 +192,17 @@ describe("#events.list", () => {
});
it("should allow filtering by event name", async () => {
const { user, admin, document, collection } = await seed();
const user = await buildUser();
const admin = await buildAdmin({ teamId: user.teamId });
const collection = await buildCollection({
userId: user.id,
teamId: user.teamId,
});
const document = await buildDocument({
userId: user.id,
collectionId: collection.id,
teamId: user.teamId,
});
// audit event
await buildEvent({
name: "users.promote",
@@ -166,7 +231,17 @@ describe("#events.list", () => {
});
it("should return events with deleted actors", async () => {
const { user, admin, document, collection } = await seed();
const user = await buildUser();
const admin = await buildAdmin({ teamId: user.teamId });
const collection = await buildCollection({
userId: user.id,
teamId: user.teamId,
});
const document = await buildDocument({
userId: user.id,
collectionId: collection.id,
teamId: user.teamId,
});
// event viewable in activity stream
const event = await buildEvent({
name: "documents.publish",
@@ -188,7 +263,7 @@ describe("#events.list", () => {
});
it("should require authorization for audit events", async () => {
const { user } = await seed();
const user = await buildUser();
const res = await server.post("/api/events.list", {
body: {
token: user.getJwtToken(),