diff --git a/frontend/e2e/basic-homepage.spec.ts b/frontend/e2e/basic-homepage.spec.ts index bdcdec96..89ec9ecb 100644 --- a/frontend/e2e/basic-homepage.spec.ts +++ b/frontend/e2e/basic-homepage.spec.ts @@ -15,3 +15,41 @@ test('User can pick their language', async ({ page }) => { await expect(page.locator('h1')).toContainText('Our strengths'); await expect(page.getByRole('heading', { name: 'Innovative' })).toBeVisible(); }); + +test('Teacher can sign in', async ({ page }) => { + await page.goto('/'); + await expect(page.getByRole('link', { name: 'log in' })).toBeVisible(); + await page.getByRole('link', { name: 'log in' }).click(); + + await expect(page.getByRole('button', { name: 'teacher' })).toBeVisible(); + await page.getByRole('button', { name: 'teacher' }).click(); + + await expect(page.getByText('teacher')).toBeVisible(); + await expect(page.getByRole('button', { name: 'Sign In' })).toBeVisible(); + + 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('link', { name: 'Dwengo logo teacher' })).toBeVisible(); + await expect(page.getByRole('button').nth(1)).toBeVisible(); +}); + +test('Student can sign in', async ({ page }) => { + await page.goto('/'); + await expect(page.getByRole('link', { name: 'log in' })).toBeVisible(); + await page.getByRole('link', { name: 'log in' }).click(); + + await expect(page.getByRole('button', { name: 'student' })).toBeVisible(); + await page.getByRole('button', { name: 'student' }).click(); + + await expect(page.getByText('student')).toBeVisible(); + await expect(page.getByRole('button', { name: 'Sign In' })).toBeVisible(); + + await page.getByRole('textbox', { name: 'Username or email' }).fill('testleerling1'); + await page.getByRole('textbox', { name: 'Password' }).fill('password'); + await page.getByRole('button', { name: 'Sign In' }).click(); + + await expect(page.getByRole('link', { name: 'Dwengo logo student' })).toBeVisible(); + await expect(page.getByRole('button').nth(1)).toBeVisible(); +}); diff --git a/frontend/e2e/basic-learning.spec.ts b/frontend/e2e/basic-learning.spec.ts new file mode 100644 index 00000000..45851236 --- /dev/null +++ b/frontend/e2e/basic-learning.spec.ts @@ -0,0 +1,5 @@ +import { test, expect } from './fixtures.js'; + +test('myTest', async ({ page }) => { + await expect(page).toHaveURL('/'); +});