76 lines
3.3 KiB
TypeScript
76 lines
3.3 KiB
TypeScript
import { test, expect } from '@playwright/test';
|
|
import { LoginPage } from '../pages/LoginPage';
|
|
import { TEST_USERS, TEST_URLS } from '../utils/test-data';
|
|
|
|
test.describe('🏥 住院入院全流程 E2E', () => {
|
|
let loginPage: LoginPage;
|
|
|
|
test.beforeEach(async ({ page }) => {
|
|
loginPage = new LoginPage(page);
|
|
await loginPage.goto();
|
|
});
|
|
|
|
test('医生-患者主页加载', async ({ page }) => {
|
|
await loginPage.login(TEST_USERS.doctor1.username, TEST_USERS.doctor1.password);
|
|
await loginPage.expectLoginSuccess();
|
|
await page.goto(TEST_URLS.patientHome);
|
|
await page.waitForLoadState('networkidle');
|
|
await expect(page).not.toHaveURL(/.*login.*/);
|
|
await page.screenshot({ path: 'tests/e2e/report/patient-home.png' });
|
|
});
|
|
|
|
test('护士-护理评估页面加载', async ({ page }) => {
|
|
await loginPage.login(TEST_USERS.nurseNK.username, TEST_USERS.nurseNK.password);
|
|
await loginPage.expectLoginSuccess();
|
|
await page.goto(TEST_URLS.nursingAssessment);
|
|
await page.waitForLoadState('networkidle');
|
|
await expect(page).not.toHaveURL(/.*login.*/);
|
|
await page.screenshot({ path: 'tests/e2e/report/nursing-assessment.png' });
|
|
});
|
|
|
|
test('护士-体征监测页面加载', async ({ page }) => {
|
|
await loginPage.login(TEST_USERS.nurseNK.username, TEST_USERS.nurseNK.password);
|
|
await loginPage.expectLoginSuccess();
|
|
await page.goto(TEST_URLS.vitalSigns);
|
|
await page.waitForLoadState('networkidle');
|
|
await expect(page).not.toHaveURL(/.*login.*/);
|
|
await page.screenshot({ path: 'tests/e2e/report/vital-signs.png' });
|
|
});
|
|
|
|
test('护士-护理记录页面加载', async ({ page }) => {
|
|
await loginPage.login(TEST_USERS.nurseNK.username, TEST_USERS.nurseNK.password);
|
|
await loginPage.expectLoginSuccess();
|
|
await page.goto(TEST_URLS.nursingRecord);
|
|
await page.waitForLoadState('networkidle');
|
|
await expect(page).not.toHaveURL(/.*login.*/);
|
|
await page.screenshot({ path: 'tests/e2e/report/nursing-record.png' });
|
|
});
|
|
|
|
test('护士-护理质量页面加载', async ({ page }) => {
|
|
await loginPage.login(TEST_USERS.nurseNK.username, TEST_USERS.nurseNK.password);
|
|
await loginPage.expectLoginSuccess();
|
|
await page.goto(TEST_URLS.nursingQuality);
|
|
await page.waitForLoadState('networkidle');
|
|
await expect(page).not.toHaveURL(/.*login.*/);
|
|
await page.screenshot({ path: 'tests/e2e/report/nursing-quality.png' });
|
|
});
|
|
|
|
test('护士-交接班页面加载', async ({ page }) => {
|
|
await loginPage.login(TEST_USERS.nurseNK.username, TEST_USERS.nurseNK.password);
|
|
await loginPage.expectLoginSuccess();
|
|
await page.goto(TEST_URLS.nursingHandoff);
|
|
await page.waitForLoadState('networkidle');
|
|
await expect(page).not.toHaveURL(/.*login.*/);
|
|
await page.screenshot({ path: 'tests/e2e/report/nursing-handoff.png' });
|
|
});
|
|
|
|
test('药师-住院退药页面加载', async ({ page }) => {
|
|
await loginPage.login(TEST_USERS.pharmacist.username, TEST_USERS.pharmacist.password);
|
|
await loginPage.expectLoginSuccess();
|
|
await page.goto('/medicationmanagement/requisitionManagement/returningInventory');
|
|
await page.waitForLoadState('networkidle');
|
|
await expect(page).not.toHaveURL(/.*login.*/);
|
|
await page.screenshot({ path: 'tests/e2e/report/pharmacy-return.png' });
|
|
});
|
|
});
|