registration-flow.spec.ts 1.3 KB

12345678910111213141516171819202122232425262728293031
  1. import { expect, test } from '@playwright/test';
  2. test('demo registration flow reaches mock appointment success', async ({ page }) => {
  3. await page.goto('/');
  4. const input = page.getByPlaceholder('继续输入症状、科室、医生或时间...');
  5. await input.click();
  6. await input.fill('我头疼三天,还有点恶心,想挂号');
  7. const sendBtn = page.getByRole('button', { name: '发送' });
  8. await expect(sendBtn).toBeEnabled();
  9. await sendBtn.click();
  10. await expect(page.getByText('推荐科室')).toBeVisible();
  11. await page.getByRole('button', { name: '选择神经内科' }).click();
  12. await expect(page.getByText('选择医生')).toBeVisible();
  13. await page.getByRole('button', { name: /选择李明/ }).click();
  14. await expect(page.getByText('选择时间')).toBeVisible();
  15. await page.getByRole('button', { name: /09:30/ }).click();
  16. await expect(page.getByText('确认挂号信息')).toBeVisible();
  17. await page.getByRole('button', { name: '确认挂号' }).click();
  18. await expect(page.getByText('联调演示 / Mock 支付')).toBeVisible();
  19. await page.getByRole('button', { name: '模拟支付完成' }).click();
  20. await expect(page.getByText('挂号成功')).toBeVisible();
  21. await expect(page.getByText('A023')).toBeVisible();
  22. await expect(page.getByText('联调演示', { exact: true })).toBeVisible();
  23. });