Files
EventHubFrontAdmin/e2e/tests/moderation.spec.ts
T

85 lines
3.7 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import { test, expect } from '@playwright/test';
import { seedAuthenticatedSession } from '../helpers/session';
test.describe('inbox reports (mock)', () => {
test.beforeEach(async ({ page }) => {
await seedAuthenticatedSession(page);
});
test('очередь pending, select и reviewed', async ({ page }) => {
await page.goto('/inbox/reports');
await expect(page.getByTestId('page-inbox-reports')).toBeVisible();
await expect(page.getByTestId('report-row-rpt-pending-1')).toBeVisible();
await expect(page.getByTestId('report-row-rpt-done-1')).toHaveCount(0);
await page.getByTestId('report-select-rpt-pending-1').click();
await expect(page.getByTestId('inbox-report-detail')).toBeVisible();
await page.getByTestId('btn-report-reviewed').click();
await expect(page.getByTestId('report-row-rpt-pending-1')).toHaveCount(0);
});
test('filter all показывает reviewed', async ({ page }) => {
await page.goto('/inbox/reports');
await page.getByTestId('filter-all').click();
await expect(page.getByTestId('report-row-rpt-done-1')).toBeVisible();
});
test('bulk dismissed', async ({ page }) => {
await page.goto('/inbox/reports');
await page.getByTestId('report-check-rpt-pending-1').check();
await page.getByTestId('report-check-rpt-pending-2').check();
await page.getByTestId('btn-bulk-dismissed').click();
await expect(page.getByTestId('report-row-rpt-pending-1')).toHaveCount(0);
await expect(page.getByTestId('report-row-rpt-pending-2')).toHaveCount(0);
});
});
test.describe('inbox tickets (mock)', () => {
test.beforeEach(async ({ page }) => {
await seedAuthenticatedSession(page);
});
test('open → in_progress → resolved', async ({ page }) => {
await page.goto('/inbox/tickets');
await expect(page.getByTestId('page-inbox-tickets')).toBeVisible();
await page.getByTestId('ticket-row-tkt-open-1').click();
await page.getByTestId('btn-ticket-in-progress').click();
await expect(page.getByTestId('btn-ticket-resolved')).toBeVisible();
await page.getByTestId('btn-ticket-resolved').click();
// resolved leaves active queue
await expect(page.getByTestId('ticket-row-tkt-open-1')).toHaveCount(0);
await page.getByTestId('filter-all').click();
await expect(page.getByTestId('ticket-row-tkt-open-1')).toBeVisible();
});
});
test.describe('reports explore (mock)', () => {
test.beforeEach(async ({ page }) => {
await seedAuthenticatedSession(page);
});
test('список и detail reviewed с confirm', async ({ page }) => {
await page.goto('/reports');
await expect(page.getByTestId('page-reports')).toBeVisible();
await page.goto('/reports/rpt-pending-1');
await expect(page.getByTestId('page-report-detail')).toBeVisible();
await page.getByTestId('btn-report-reviewed').click();
await expect(page.getByTestId('dialog-confirm-report-status')).toBeVisible();
await page.getByTestId('btn-confirm-status').click();
await expect(page.getByTestId('btn-report-reviewed')).toHaveCount(0);
});
});
test.describe('reviews explore (mock)', () => {
test.beforeEach(async ({ page }) => {
await seedAuthenticatedSession(page);
});
test('страница reviews рендерится, bulk отключён без выбора', async ({ page }) => {
await page.goto('/reviews');
await expect(page.getByTestId('page-reviews')).toBeVisible();
await expect(page.getByText('Great event')).toBeVisible();
await expect(page.getByTestId('btn-reviews-bulk-hidden')).toBeDisabled();
});
});