test(frontend): Student can join class by code
This commit is contained in:
		
							parent
							
								
									dee14791ea
								
							
						
					
					
						commit
						d9e428f522
					
				
					 1 changed files with 33 additions and 1 deletions
				
			
		|  | @ -1,6 +1,8 @@ | |||
| import { test, expect } from "@playwright/test" | ||||
| 
 | ||||
| test("Teacher create a class", async ({ page }) => { | ||||
|     const className = "DeTijdLoze" | ||||
| 
 | ||||
|     await page.goto("/") | ||||
| 
 | ||||
|     // Login
 | ||||
|  | @ -14,14 +16,44 @@ test("Teacher create a class", async ({ page }) => { | |||
|     await expect(page.getByRole('banner').getByRole('link', { name: 'Classes' })).toBeVisible(); | ||||
|     await page.getByRole('banner').getByRole('link', { name: 'Classes' }).click(); | ||||
| 
 | ||||
|     // Check if the class page is visible
 | ||||
|     await expect(page.getByRole('heading', { name: 'Classes' })).toBeVisible(); | ||||
|     await expect(page.getByRole('textbox', { name: 'classname classname' })).toBeVisible(); | ||||
|     await expect(page.getByRole('button', { name: 'create' })).toBeVisible(); | ||||
| 
 | ||||
|     // Create a class
 | ||||
|     await page.getByRole('textbox', { name: 'classname classname' }).click(); | ||||
|     await page.getByRole('textbox', { name: 'classname classname' }).fill('DeTijdLoze'); | ||||
|     await page.getByRole('textbox', { name: 'classname classname' }).fill(className); | ||||
|     await page.getByRole('button', { name: 'create' }).click(); | ||||
| 
 | ||||
|     // Check if the class is created
 | ||||
|     await expect(page.getByRole('dialog').getByText('code')).toBeVisible(); | ||||
|     await expect(page.getByRole('button', { name: 'close' })).toBeVisible(); | ||||
| }); | ||||
| 
 | ||||
| test("Student can join class by code", async ({ page }) => { | ||||
|     await page.goto("/") | ||||
| 
 | ||||
|     // Login
 | ||||
|     await page.getByRole("link", { name: "log in" }).click(); | ||||
|     await page.getByRole("button", { name: "student" }).click(); | ||||
|     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(); | ||||
| 
 | ||||
|     // Go to class
 | ||||
|     await expect(page.getByRole('banner').getByRole('link', { name: 'Classes' })).toBeVisible(); | ||||
|     await page.getByRole('banner').getByRole('link', { name: 'Classes' }).click(); | ||||
| 
 | ||||
|     // Check if the class page is visible
 | ||||
|     await expect(page.getByRole('heading', { name: 'Classes' })).toBeVisible(); | ||||
|     await expect(page.getByRole('heading', { name: 'Join class' })).toBeVisible(); | ||||
|     await expect(page.getByRole('textbox', { name: 'CODE CODE' })).toBeVisible(); | ||||
|     await expect(page.getByRole('button', { name: 'submit' })).toBeVisible(); | ||||
| 
 | ||||
|     // Join a class
 | ||||
|     await page.getByRole('textbox', { name: 'CODE CODE' }).click(); | ||||
|     await page.getByRole('textbox', { name: 'CODE CODE' }).fill('16c822ca-633d-49e3-89fc-8d7a291450e6'); | ||||
|     await page.getByRole('button', { name: 'submit' }).click(); | ||||
|     await expect(page.getByText('failed: Request failed with status code 404', { exact: true })).toBeVisible(); | ||||
| }); | ||||
|  |  | |||
		Reference in a new issue