91 lines
4.1 KiB
TypeScript
91 lines
4.1 KiB
TypeScript
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 hide', async ({ page }) => {
|
||
await page.goto('/reviews');
|
||
await expect(page.getByTestId('page-reviews')).toBeVisible();
|
||
await page.getByTestId('view-table').click();
|
||
await expect(page.getByText('Great event')).toBeVisible();
|
||
await page.getByTestId('review-check-rev-vis-1').check();
|
||
await page.getByTestId('btn-reviews-bulk-hidden').click();
|
||
await expect(page.getByTestId('dialog-reviews-bulk-status')).toBeVisible();
|
||
await page.getByTestId('input-bulk-reason').fill('e2e hide');
|
||
await page.getByTestId('btn-save').click();
|
||
await expect(page.getByTestId('dialog-reviews-bulk-status')).toHaveCount(0);
|
||
});
|
||
});
|