fix(ci): compatibilidad con el runner self-hosted (npm 10 / Node 20)
- vitest 4 traía vite 8 anidado con esbuild 0.28: el lockfile quedaba incompleto para npm ci y el npm 10.8.2 del runner fallaba con "Missing @esbuild/* from lock file" / EBADPLATFORM. vitest 3 usa el vite 5 del proyecto como peer: sin árbol anidado, esbuild solo 0.21.5 - jsdom 30 exige Node >=22.22 (el runner tiene 20.20): bajado a jsdom 26 - tests.yml sobre el runner real (self-hosted, Node del sistema) en vez de ubuntu-latest, que no existe como label - aserciones de max()/calc() tolerantes a la serialización de jsdom 26
This commit is contained in:
@@ -59,8 +59,13 @@ describe("BotonFlotante", () => {
|
||||
const contenedor = boton.closest("div").parentElement; // button → relativo → fijo
|
||||
expect(contenedor.style.position).toBe("fixed");
|
||||
expect(contenedor.style.bottom).toBe("0px");
|
||||
// en pantallas anchas acompaña a la columna de 720px; mínimo 16px
|
||||
expect(contenedor.getAttribute("style")).toMatch(/right:\s*max\(16px,\s*[^;]*100vw[^;]*720px[^;]*16px[^;]*\)/);
|
||||
// en pantallas anchas acompaña a la columna de 720px; mínimo 16px.
|
||||
// (la serialización exacta de max()/calc() varía entre versiones de jsdom)
|
||||
const right = (contenedor.getAttribute("style").match(/right:\s*([^;]+)/) || [])[1];
|
||||
expect(right).toMatch(/max\(/);
|
||||
expect(right).toContain("100vw");
|
||||
expect(right).toContain("720px");
|
||||
expect(right).toContain("16px");
|
||||
// en PC el FAB mide 64px (en móvil 54)
|
||||
expect(boton.style.width).toBe("64px");
|
||||
expect(boton.style.height).toBe("64px");
|
||||
|
||||
Reference in New Issue
Block a user