Files
glitchtip-frontend/cypress/e2e/utils.cy.ts
T
James Kiger a797aa6c15 Initial work on new palette/theme
Nav menu overhaul

New folder for material overrides

Custom font classes

Fix global font, add back resets, and update link colors

Fix project list layout

Expose material typography tokens as css classes

Add button story and scss file for storybook

Implementation of top app bar

New project multiselect

New timerange picker

e2e fixes

responsive layout fixes
2025-11-04 11:23:36 -05:00

47 lines
1.4 KiB
TypeScript

import { seededUser1 } from "../fixtures/users";
export function seedBackend(generateExtras = false, seedIssues = false) {
let paramString = generateExtras ? "?extras=true" : ""
if (paramString)
paramString += seedIssues ? "&seedIssues=true" : ""
const url = `/api/test/seed/` + paramString;
return cy.request("POST", url);
}
export function requestLogin() {
const url = "/_allauth/browser/v1/auth/login";
cy.setLocalStorage("isAuthenticated", "true");
return cy
.request({ method: "HEAD", url, failOnStatusCode: false })
.then((response) => {
const headers = response.headers["set-cookie"] as string[];
const csrfTokenCookie = headers.find((cookie) =>
cookie.startsWith("csrftoken"),
)!;
const csrfToken = csrfTokenCookie.split(";")[0].split("=")[1];
return cy.request({
method: "POST",
url,
body: {
email: seededUser1.email,
password: seededUser1.password,
},
headers: { "X-CSRFToken": csrfToken },
});
});
}
export function uniqueId(length = 32) {
return [...Array(length)]
.map(() => Math.floor(Math.random() * 16).toString(16))
.join("");
}
export const getDSN = (dsn: string, target = "store") => {
const key = dsn.split("@")[0].split("//")[1];
const id = dsn.split("@")[1].split("/")[1];
const url = `/api/${id}/${target}/?sentry_key=${key}&sentry_version=7`;
return url;
};