From f75dcd988d05b4d479d32460686cb8fbabd694c8 Mon Sep 17 00:00:00 2001 From: Tibo De Peuter Date: Fri, 16 May 2025 16:14:07 +0200 Subject: [PATCH] test(frontend): Leerkracht kan leerling uit klas verwijderen --- frontend/e2e/class.spec.ts | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/frontend/e2e/class.spec.ts b/frontend/e2e/class.spec.ts index 5bf52fca..b54b9d58 100644 --- a/frontend/e2e/class.spec.ts +++ b/frontend/e2e/class.spec.ts @@ -78,3 +78,27 @@ test("Student can join class by code", async ({ page }) => { await page.getByRole('button', { name: 'submit' }).click(); await expect(page.getByText('failed: Request failed with status code 404', { exact: true })).toBeVisible(); }); + +test('Teacher can remove student from class', async ({ page }) => { + // Login + await page.getByRole("link", { name: "log in" }).click(); + await page.getByRole("button", { name: "teacher" }).click(); + await page.getByRole("textbox", { name: "Username or email" }).fill("testleerkracht1"); + await page.getByRole("textbox", { name: "Password" }).fill("password"); + await page.getByRole("button", { name: "Sign In" }).click(); + + await expect(page.getByRole('banner').getByRole('link', { name: 'Classes' })).toBeVisible(); + await page.getByRole('banner').getByRole('link', { name: 'Classes' }).click(); + await expect(page.getByRole('link', { name: 'class01' })).toBeVisible(); + await expect(page.locator('#app')).toContainText('8'); + await page.getByRole('link', { name: 'class01' }).click(); + await expect(page.getByRole('cell', { name: 'Kurt Cobain' })).toBeVisible(); + await expect(page.getByRole('row', { name: 'Kurt Cobain remove' }).getByRole('button')).toBeVisible(); + await page.getByRole('row', { name: 'Kurt Cobain remove' }).getByRole('button').click(); + await expect(page.getByText('Are you sure?')).toBeVisible(); + await expect(page.getByRole('button', { name: 'cancel' })).toBeVisible(); + await expect(page.getByRole('button', { name: 'yes' })).toBeVisible(); + await page.getByRole('button', { name: 'yes' }).click(); + await page.getByRole('banner').getByRole('link', { name: 'Classes' }).click(); + await expect(page.locator('#app')).toContainText('7'); +});