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(); });