evOo-local/apps/web/e2e/avatar-motion.spec.ts
cynarAI 6c7eed7580 Initial clean evOo-local from f00577b
Fresh history cut from cynarAI/evoo antigravity-handoff/project-timeline
(Voice First + project timeline). Brand docs/titles as evOo; keep @rakazo/*
packages as tech debt. Excludes node_modules, caches, secrets, voice blobs.
2026-09-20 17:15:16 +02:00

25 lines
867 B
TypeScript

import { expect, test } from "@playwright/test";
test("bot avatar ring stays still when reduced motion is enabled", async ({ page }) => {
await page.emulateMedia({ reducedMotion: "reduce" });
await page.goto("/e2e/fixtures/avatar-motion.html");
const avatar = page.locator(".rakazo-bot-avatar");
await expect(avatar).toBeVisible();
await expect(avatar).toHaveAttribute("data-working", "true");
const ring = avatar.locator(".rakazo-bot-avatar-ring");
await expect(ring).toBeVisible();
const snapshot = () =>
ring.evaluate((el: SVGElement) => ({
animationName: getComputedStyle(el).animationName,
transform: getComputedStyle(el).transform,
}));
const first = await snapshot();
await page.waitForTimeout(300);
const second = await snapshot();
expect(first.animationName).toBe("none");
expect(second).toEqual(first);
});