Files
openclaw-mission-control/frontend/cypress/support/testHooks.ts
2026-03-04 22:29:47 +05:30

78 lines
1.9 KiB
TypeScript

/// <reference types="cypress" />
type CommonPageTestHooksOptions = {
timeoutMs?: number;
orgMemberRole?: string;
organizationId?: string;
organizationName?: string;
userId?: string;
userEmail?: string;
userName?: string;
};
export function setupCommonPageTestHooks(
apiBase: string,
options: CommonPageTestHooksOptions = {},
): void {
const {
timeoutMs = 20_000,
orgMemberRole = "owner",
organizationId = "org1",
organizationName = "Testing Org",
userId = "u1",
userEmail = "local-auth-user@example.com",
userName = "Local User",
} = options;
const originalDefaultCommandTimeout = Cypress.config("defaultCommandTimeout");
beforeEach(() => {
Cypress.config("defaultCommandTimeout", timeoutMs);
cy.intercept("GET", "**/healthz", {
statusCode: 200,
body: { ok: true },
}).as("healthz");
cy.intercept("GET", `${apiBase}/users/me*`, {
statusCode: 200,
body: {
id: userId,
clerk_user_id: "local-auth-user",
email: userEmail,
name: userName,
preferred_name: userName,
timezone: "UTC",
},
}).as("usersMe");
cy.intercept("GET", `${apiBase}/organizations/me/list*`, {
statusCode: 200,
body: [
{
id: organizationId,
name: organizationName,
is_active: true,
role: orgMemberRole,
},
],
}).as("organizationsList");
cy.intercept("GET", `${apiBase}/organizations/me/member*`, {
statusCode: 200,
body: {
id: "membership-1",
organization_id: organizationId,
user_id: userId,
role: orgMemberRole,
all_boards_read: true,
all_boards_write: true,
board_access: [],
},
}).as("orgMeMember");
});
afterEach(() => {
Cypress.config("defaultCommandTimeout", originalDefaultCommandTimeout);
});
}