click-page-icons.spec.ts 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. import { expect, test } from '@playwright/test';
  2. test.describe('Click page icons', () => {
  3. test.beforeEach(async ({ page }) => {
  4. await page.goto('/Sandbox');
  5. });
  6. test('Successfully Subscribe/Unsubscribe a page', async ({ page }) => {
  7. const subscribeButton = page.locator('.btn-subscribe');
  8. // Subscribe
  9. await subscribeButton.click();
  10. await expect(subscribeButton).toHaveClass(/active/);
  11. // Unsubscribe
  12. await subscribeButton.click();
  13. await expect(subscribeButton).not.toHaveClass(/active/);
  14. });
  15. test('Successfully Like/Unlike a page', async ({ page }) => {
  16. const likeButton = page.locator('.btn-like').first();
  17. // Like
  18. await likeButton.click();
  19. await expect(likeButton).toHaveClass(/active/);
  20. // Unlike
  21. await likeButton.click();
  22. await expect(likeButton).not.toHaveClass(/active/);
  23. });
  24. test('Successfully Bookmark / Unbookmark a page', async ({ page }) => {
  25. const bookmarkButton = page.locator('.btn-bookmark').first();
  26. // Bookmark
  27. await bookmarkButton.click();
  28. await expect(bookmarkButton).toHaveClass(/active/);
  29. // Unbookmark
  30. await page.locator('.grw-bookmark-folder-menu-item').click();
  31. await expect(bookmarkButton).not.toHaveClass(/active/);
  32. });
  33. test('Successfully display list of "seen by user"', async ({ page }) => {
  34. await page.locator('.btn-seen-user').click();
  35. const imgCount = await page
  36. .locator('.user-list-content')
  37. .locator('img')
  38. .count();
  39. expect(imgCount).toBe(1);
  40. });
  41. });