create-page-button.spec.ts 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import { expect, test } from '@playwright/test';
  2. test.describe('Create page button', () => {
  3. test('click and autofocus to title text input', async ({ page }) => {
  4. await page.goto('/');
  5. await page
  6. .getByTestId('grw-page-create-button')
  7. .getByRole('button', { name: 'Create' })
  8. .click();
  9. // should be focused
  10. await expect(page.getByPlaceholder('Input page name')).toBeFocused();
  11. });
  12. });
  13. test.describe('Create page button dropdown menu', () => {
  14. test('open and create today page', async ({ page }) => {
  15. await page.goto('/');
  16. // open dropdown menu
  17. await page.getByTestId('grw-page-create-button').hover();
  18. await expect(
  19. page
  20. .getByTestId('grw-page-create-button')
  21. .getByLabel('Open create page menu'),
  22. ).toBeVisible();
  23. await page
  24. .getByTestId('grw-page-create-button')
  25. .getByLabel('Open create page menu')
  26. .dispatchEvent('click'); // simulate the click
  27. await page.getByRole('menuitem', { name: 'Create today page' }).click();
  28. // should not be visible
  29. await expect(page.getByPlaceholder('Input page name')).not.toBeVisible();
  30. });
  31. });