feat(package): add Cypress for end-to-end testing and enhance scripts

- Added Cypress as a dependency for end-to-end testing.
- Introduced new npm scripts for running Cypress tests and starting the development server for testing.
- Updated package-lock.json to reflect the new dependencies and their versions.
This commit is contained in:
AmirReza Jamali
2026-04-21 15:59:20 +03:30
parent dae564b859
commit bb1af8b31c
8 changed files with 2099 additions and 20 deletions
+37
View File
@@ -0,0 +1,37 @@
/// <reference types="cypress" />
const AUTH_COOKIE_KEYS = {
accessToken: "TENDER_PANEL_token",
refreshToken: "TENDER_PANEL_refresh_token",
user: "TENDER_PANEL_user",
} as const;
Cypress.Commands.add("loginAsAdmin", () => {
cy.session(
"admin-session",
() => {
cy.visit("/auth/sign-in");
cy.setCookie(AUTH_COOKIE_KEYS.accessToken, "e2e-access-token");
cy.setCookie(AUTH_COOKIE_KEYS.refreshToken, "e2e-refresh-token");
cy.setCookie(
AUTH_COOKIE_KEYS.user,
encodeURIComponent(
JSON.stringify({
id: "507f1f77bcf86cd799439012",
username: "e2e-admin",
email: "e2e-admin@example.com",
role: "admin",
}),
),
);
},
{
validate: () => {
cy.getCookie(AUTH_COOKIE_KEYS.accessToken).should("exist");
cy.getCookie(AUTH_COOKIE_KEYS.user).should("exist");
},
cacheAcrossSpecs: true,
},
);
});