Localize onboarding focus facts by profile locale (DE assertion). Add mobile overflow/touch audits, deep-link matrix, extended console checks, and E2E for empty project, session unavailable, and teaching composer. Safe-area and Heute header layout on 390px viewports. Co-authored-by: cynarAI <cynarAI@users.noreply.github.com>
31 lines
1.4 KiB
TypeScript
31 lines
1.4 KiB
TypeScript
import { expect, test } from "@playwright/test";
|
|
import { activeBotId, completeOnboarding, signup, waitForChatComposer } from "./helpers";
|
|
|
|
test("blocks the composer while a skill is being taught", async ({ page }) => {
|
|
const stamp = Date.now();
|
|
await signup(page, `teach-composer-${stamp}@rakazo.test`, "password12", "Teach Composer");
|
|
await completeOnboarding(page);
|
|
await waitForChatComposer(page);
|
|
|
|
await page.getByTitle("Agent computer").click();
|
|
const sidePanel = page.getByTestId("side-panel");
|
|
await expect(sidePanel).toHaveAttribute("data-panel", "computer");
|
|
const openButton = sidePanel.getByTestId("computer-preview-open");
|
|
await expect(openButton).toBeVisible();
|
|
await openButton.click();
|
|
const chrome = page.getByTestId("computer-chrome");
|
|
await chrome.getByTestId("teach-start-button").click();
|
|
await page.getByTestId("teach-goal-input").fill("Export weekly list");
|
|
await page.getByRole("button", { name: "Start recording" }).click();
|
|
await expect(page.getByTestId("teach-recording-overlay")).toBeVisible();
|
|
|
|
await expect(
|
|
page.getByText(
|
|
/Teaching in progress\. Stop teaching before sending a new message|Aufgabe wird angelernt\. Beende das Anlernen, bevor du eine neue Nachricht sendest\./i,
|
|
),
|
|
).toBeVisible();
|
|
const composer = page.getByRole("combobox", { name: /^Message$|^Nachricht$/i });
|
|
await expect(composer).toBeDisabled();
|
|
expect(activeBotId(page)).toBeTruthy();
|
|
});
|