Bez popisu

tasks.spec.js 2.0KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import { test, expect } from '@playwright/test';
  2. import crypto from 'node:crypto';
  3. test.beforeEach(async({ page }) => {
  4. await page.goto('/case/tasks?cid=1');
  5. });
  6. test('should be able to update task', async ({ page }) => {
  7. const taskTitle = `Task title - ${crypto.randomUUID()}`;
  8. await page.getByRole('button', { name: 'Add task' }).click();
  9. await page.getByRole('button', { name: 'Select task status' }).click();
  10. await page.locator('a').filter({ hasText: 'To do' }).click();
  11. await page.getByLabel('Task Title').fill(taskTitle);
  12. await page.getByRole('button', { name: 'Save' }).click();
  13. await page.getByRole('link', { name: taskTitle }).click();
  14. const newTaskTitle = `Task title - ${crypto.randomUUID()}`;
  15. await page.getByLabel('Task title').fill(newTaskTitle);
  16. await page.getByRole('button', { name: 'Update' }).click();
  17. await expect(page.getByRole('link', { name: newTaskTitle })).toBeVisible();
  18. });
  19. test('should be able to update task status', async ({ page }) => {
  20. const taskTitle = `Task title - ${crypto.randomUUID()}`;
  21. await page.getByRole('button', { name: 'Add task' }).click();
  22. await page.getByRole('button', { name: 'Select task status' }).click();
  23. await page.locator('a').filter({ hasText: 'To do' }).click();
  24. await page.getByLabel('Task Title').fill(taskTitle);
  25. await page.getByRole('button', { name: 'Save' }).click();
  26. await expect(page.getByRole('heading', { name: 'Add task' })).not.toBeVisible();
  27. await page.getByLabel('Search:').fill(taskTitle);
  28. await page.getByRole('gridcell', { name: 'To do' }).locator('span').click();
  29. await expect(page.getByRole('gridcell', { name: 'To do' }).getByRole('combobox')).toBeVisible();
  30. await page.getByRole('gridcell', { name: 'To do' }).getByRole('combobox').selectOption('In progress');
  31. await page.getByRole('link', { name: 'Confirm' }).click();
  32. await expect(page.getByRole('gridcell', { name: 'In progress' }).locator('span')).toBeVisible();
  33. });