canina/tests/e2e/storefront/error-pages-404-500.spec.ts

23 lines
1.2 KiB
TypeScript

import { test, expect } from '../../fixtures';
test.describe('سناریوی مدیریت صفحات خطای کلاینت و سرور (Error Pages 404 & 500)', () => {
test('ورود به آدرس ناموجود -> راستی‌آزمایی رندر کامل صفحه ۴۰۴ و دکمه بازگشت به خانه', async ({ page }) => {
// 1. ورود به یک آدرس کاملاً نامعتبر و تصادفی
await page.goto('/some-completely-invalid-nonexistent-slug-404', { waitUntil: 'domcontentloaded' });
// 2. راستی‌آزمایی تیتر و محتوای صفحه ۴۰۴
const notFoundHeading = page.locator('h1').filter({ hasText: 'صفحه پیدا نشد!' });
await expect(notFoundHeading).toBeVisible({ timeout: 15000 });
const notFoundBadge = page.locator('div').filter({ hasText: '۴۰۴' }).first();
await expect(notFoundBadge).toBeVisible();
// 3. راستی‌آزمایی دکمه بازگشت به خانه و ناوبری موفق به صفحه اصلی
const homeBtn = page.getByRole('button', { name: /بازگشت به خانه/i }).first();
await expect(homeBtn).toBeVisible();
await homeBtn.click();
await expect(page).toHaveURL('/');
});
});