32 lines
1.2 KiB
TypeScript
32 lines
1.2 KiB
TypeScript
import { test, expect } from '@playwright/test'
|
|
|
|
test('should redirect to login page if not logged in', async ({ page }) => {
|
|
await page.goto('/')
|
|
await page.click('text=Stories')
|
|
await expect(page).toHaveURL('/login?from=%2Fstory')
|
|
await page.click('text=Publications')
|
|
await expect(page).toHaveURL('/login?from=%2Fpublication')
|
|
await page.click('text=Submissions')
|
|
await expect(page).toHaveURL('/login?from=%2Fsubmission')
|
|
})
|
|
|
|
test('positive login', async ({ page }) => {
|
|
await page.goto('/login')
|
|
await page.getByRole('textbox', { name: 'email' }).fill('demo@demo.demo')
|
|
await page.getByRole('textbox', { name: 'password' }).fill('password')
|
|
await page.getByRole('button', { name: 'submit' }).click()
|
|
|
|
await page.waitForURL('**/submission', { timeout: 5000 })
|
|
await expect(page).toHaveURL('/submission');
|
|
|
|
})
|
|
|
|
test('negative login', async ({ page }) => {
|
|
|
|
await page.goto('/login')
|
|
await page.getByRole('textbox', { name: 'email' }).fill('demo@demo.negative')
|
|
await page.getByRole('textbox', { name: 'password' }).fill('negative')
|
|
await page.getByRole('button', { name: 'submit' }).click()
|
|
await expect(page.getByText("login failed!")).toBeTruthy()
|
|
})
|