HH/e2e/tests/workflows/send-to-staff.spec.ts
ismail c5f76b3855
Some checks are pending
Build and Push Docker Image / build (push) Waiting to run
updates
2026-05-11 14:45:30 +03:00

74 lines
2.5 KiB
TypeScript

import { test, expect } from '@playwright/test';
import { RoleAuthHelper } from '../../helpers/helpers';
import { ApiHelper, DEPT_ID, sessionPost } from '../../helpers/api-helper';
const STAFF_UUID = '1877e4d8-9579-45b3-8190-19becf3f14f2';
test.describe('Send to Staff Tests', () => {
test.setTimeout(120000);
test('send complaint to staff and staff sees it', async ({ page }) => {
const api = new ApiHelper(page);
await api.authenticate('px_admin');
const { body: cb } = await api.createComplaint();
const complaintId = cb?.id;
if (!complaintId) { test.skip(); return; }
await api.activateComplaint(complaintId);
const auth = new RoleAuthHelper(page);
await auth.login('hospital_admin');
await page.waitForTimeout(800);
await page.goto(`/complaints/${complaintId}/`);
await page.waitForLoadState('domcontentloaded');
await page.waitForTimeout(2500);
const sendResp = await sessionPost(page, `/complaints/${complaintId}/send-to/`, {
recipient_type: 'person',
person_id: STAFF_UUID,
note: 'E2E test - sending complaint to staff',
});
expect([200, 302].includes(sendResp.status())).toBeTruthy();
await page.waitForTimeout(800);
await auth.logout();
await auth.login('staff');
await page.waitForTimeout(800);
await page.goto('/complaints/?status=in_progress');
await page.waitForLoadState('domcontentloaded');
await page.waitForTimeout(2500);
const pageText = (await page.textContent('body')) || '';
expect(pageText.length).toBeGreaterThan(0);
await page.waitForTimeout(800);
});
test('send inquiry to staff', async ({ page }) => {
const api = new ApiHelper(page);
await api.authenticate('px_admin');
const { body: ib } = await api.createInquiry();
const inquiryId = ib?.id;
if (!inquiryId) { test.skip(); return; }
const auth = new RoleAuthHelper(page);
await auth.login('hospital_admin');
await page.waitForTimeout(800);
await page.goto(`/inquiries/${inquiryId}/`);
await page.waitForLoadState('domcontentloaded');
await page.waitForTimeout(2500);
await sessionPost(page, `/inquiries/${inquiryId}/activate/`, {});
await page.waitForTimeout(800);
const sendResp = await sessionPost(page, `/inquiries/${inquiryId}/send-to/`, {
recipient_type: 'person',
person_id: STAFF_UUID,
note: 'E2E test - sending inquiry to staff for response',
});
expect([200, 302].includes(sendResp.status())).toBeTruthy();
await page.waitForTimeout(800);
});
});