import { expect, test } from "@playwright/test"; import { login, mockKontrolleStart, mockKontrollGrundgeruest, mockLogin, TEST_KONTROLLE, TEST_OBJEKT, TEST_POSITION, } from "./mockApi"; test("Fortschrittsanzeige zählt bestätigte Positionen hoch", async ({ page }) => { await mockLogin(page); await mockKontrollGrundgeruest(page); await mockKontrolleStart(page); await page.route(`**/api/v1/kontrollen/${TEST_KONTROLLE.id}/positionen/${TEST_POSITION.material_id}`, (route) => route.fulfill({ json: { id: "kp-1", kontrolle_id: TEST_KONTROLLE.id, material_id: TEST_POSITION.material_id, sollmenge_snapshot: TEST_POSITION.sollmenge_effektiv, istmenge_erfasst: TEST_POSITION.sollmenge_effektiv, abweichung: false, fehlbestand_id: null, }, }) ); await login(page); await page.goto(`/objekte/${TEST_OBJEKT.id}/kontrolle`); await expect(page.getByText("0 von 1 Positionen bestätigt")).toBeVisible(); // Eingabe entspricht bereits der Sollmenge -> Button zeigt "Passt". await page.getByRole("button", { name: "Passt" }).click(); await expect(page.getByText("1 von 1 Positionen bestätigt")).toBeVisible({ timeout: 5000 }); await expect(page.getByRole("button", { name: "Kontrolle abschließen" })).toBeEnabled(); });