test(admin): fixe l'intercept monitoring (route page == chemin API)
La route page `/admin/monitoring` et le chemin API `GET /admin/monitoring` sont identiques : un glob `**/admin/monitoring` capturait aussi la requete document du `cy.visit()`. Le hardcode `http://localhost:3000/...` marchait en local (VITE_API_URL dans apps/web/.env) mais pas en CI (pas de .env -> API en meme origine sur :5173, donc collision totale) : `cy.wait (@getMonitoring)` timeout. `resourceType: "fetch"` epingle l'intercept sur le seul XHR d'AdminApiClient. Verifie en simulant la CI (sans apps/web/.env) : 16/16 specs admin verts. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
parent
bbd9afe8aa
commit
1a28d67218
1 changed files with 13 additions and 2 deletions
|
|
@ -52,8 +52,19 @@ describe("Admin monitoring", () => {
|
||||||
cy.intercept("GET", "**/admin/auth/me", { statusCode: 200, body: adminBody });
|
cy.intercept("GET", "**/admin/auth/me", { statusCode: 200, body: adminBody });
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// The page route `/admin/monitoring` and the API path `GET /admin/monitoring`
|
||||||
|
// are identical — a plain `**/admin/monitoring` glob would also match the
|
||||||
|
// `cy.visit()` document request (and whether that's same-origin or not
|
||||||
|
// depends on `VITE_API_URL`, which isn't set in CI). `resourceType: "fetch"`
|
||||||
|
// pins the intercept to the `AdminApiClient` XHR only.
|
||||||
|
const monitoringApi = {
|
||||||
|
method: "GET",
|
||||||
|
url: "**/admin/monitoring",
|
||||||
|
resourceType: "fetch",
|
||||||
|
} as const;
|
||||||
|
|
||||||
it("renders one card per service with its status and details", () => {
|
it("renders one card per service with its status and details", () => {
|
||||||
cy.intercept("GET", "http://localhost:3000/admin/monitoring", {
|
cy.intercept(monitoringApi, {
|
||||||
statusCode: 200,
|
statusCode: 200,
|
||||||
body: monitoringFixture(),
|
body: monitoringFixture(),
|
||||||
}).as("getMonitoring");
|
}).as("getMonitoring");
|
||||||
|
|
@ -74,7 +85,7 @@ describe("Admin monitoring", () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it("shows an error state when the request fails", () => {
|
it("shows an error state when the request fails", () => {
|
||||||
cy.intercept("GET", "http://localhost:3000/admin/monitoring", {
|
cy.intercept(monitoringApi, {
|
||||||
statusCode: 500,
|
statusCode: 500,
|
||||||
body: { code: 5000, message: "x" },
|
body: { code: 5000, message: "x" },
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue