33 خطوط
2.0 KiB
TypeScript
33 خطوط
2.0 KiB
TypeScript
import { expect, test } from '@playwright/test'
|
|
import type { Page } from '@playwright/test'
|
|
|
|
async function signInAsManager(page: Page) {
|
|
await page.goto('http://127.0.0.1:5173/login')
|
|
await page.getByLabel(/ایمیل|Email/).fill('manager@microlearn.test')
|
|
await page.getByLabel(/رمز عبور|Password/).fill('password')
|
|
await page.getByRole('button', { name: /ورود|Sign in/ }).click()
|
|
await expect(page).toHaveURL(/\/manager\/overview$/)
|
|
}
|
|
|
|
test('manager dashboard has scoped navigation and personal learning', async ({ page }) => {
|
|
await signInAsManager(page)
|
|
const navigation = page.getByRole('navigation', { name: /ناوبری اصلی|Primary navigation/ })
|
|
await expect(page.getByRole('heading', { level: 1, name: /^سلام/ })).toBeVisible()
|
|
await expect(page.getByRole('heading', { name: /نیازمند توجه|Needs attention/ })).toBeVisible()
|
|
await expect(navigation.getByRole('link', { name: /^(دورههای من|My learning)$/ })).toBeVisible()
|
|
await expect(navigation.getByRole('link', { name: /^(تیم من|My team)$/ })).toBeVisible()
|
|
await expect(navigation.getByRole('link', { name: /سازنده دوره|Course builder/ })).toHaveCount(0)
|
|
await expect(navigation.getByRole('link', { name: /استودیوی هوش مصنوعی|AI Studio/ })).toHaveCount(0)
|
|
|
|
await navigation.getByRole('link', { name: /^(دورههای من|My learning)$/ }).click()
|
|
await expect(page).toHaveURL(/\/manager\/my-learning$/)
|
|
await expect(page.getByRole('heading', { level: 1, name: /دورههای من|My learning/ })).toBeVisible()
|
|
|
|
for (const viewport of [{ width: 375, height: 812 }, { width: 768, height: 1024 }, { width: 1440, height: 1000 }]) {
|
|
await page.setViewportSize(viewport)
|
|
await page.goto('http://127.0.0.1:5173/manager/overview')
|
|
await expect(page.getByRole('heading', { level: 1, name: /^سلام/ })).toBeVisible()
|
|
expect(await page.evaluate(() => document.documentElement.scrollWidth <= document.documentElement.clientWidth)).toBe(true)
|
|
}
|
|
})
|