click-page-icons.spec.ts 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. import { test, expect } 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.locator('.user-list-content').locator('img').count();
  36. expect(imgCount).toBe(1);
  37. });
  38. });