From da9137c0673560e454c2a9f7e2d7508aebbfc772 Mon Sep 17 00:00:00 2001 From: RaduCristianPopescu <119046336+RaduCristianPopescu@users.noreply.github.com> Date: Tue, 19 Aug 2025 17:37:20 +0300 Subject: [PATCH 1/2] add: e2e tests for features --- tests/e2e/specs/classic-block.spec.js | 26 ++++++++++++ tests/e2e/specs/import.spec.js | 57 +++++++++++++++++++++++++++ 2 files changed, 83 insertions(+) diff --git a/tests/e2e/specs/classic-block.spec.js b/tests/e2e/specs/classic-block.spec.js index f70e77418..17733bce0 100644 --- a/tests/e2e/specs/classic-block.spec.js +++ b/tests/e2e/specs/classic-block.spec.js @@ -124,4 +124,30 @@ test.describe('Feedzy Classic Block', () => { const image = page.locator('.feedzy-rss .rss_image img'); await expect(image).toHaveAttribute('style', /aspect-ratio:\s*auto;/i); }); + + test('embed youtube video', async ({ editor, page, admin }) => { + await admin.createNewPost(); + + await editor.insertBlock({ + name: 'feedzy-rss-feeds/feedzy-block', + attributes: { + feeds: 'https://www.youtube.com/feeds/videos.xml?channel_id=UCSHmNs-_UuU1CfPhSbilTZQ', + max: 1, + }, + }); + + const postId = await editor.publishPost(); + await page.goto(`/?p=${postId}`); + + const rssContainer = page.locator('.rss_item').first(); + await expect(rssContainer).toBeVisible(); + + const youtubeLink = rssContainer + .locator('a[href*="youtube.com/"]') + .first(); + await expect(youtubeLink).toBeVisible(); + + const image = rssContainer.locator('img').first(); + await expect(image).toBeVisible(); + }); }); diff --git a/tests/e2e/specs/import.spec.js b/tests/e2e/specs/import.spec.js index 32283ac2d..fcc16137d 100644 --- a/tests/e2e/specs/import.spec.js +++ b/tests/e2e/specs/import.spec.js @@ -304,4 +304,61 @@ test.describe('Feed Import', () => { page.locator('.attachment').count() ).resolves.toBeGreaterThan(0); // We should have some imported images. }); + + test('close popup when clicking outside', async ({ page }) => { + await page.goto('/wp-admin/post-new.php?post_type=feedzy_imports'); + await tryCloseTourModal(page); + + await page + .getByRole('button', { name: 'Step 3 Map content ' }) + .click(); + + await expect( + page.getByText('Post Title item title Item') + ).toBeVisible(); + + await page.getByTitle('item title').getByRole('link').click(); + + await expect( + page.getByRole('heading', { name: 'Add actions to this tag' }) + ).toBeVisible(); + + await page.locator('body').click({ position: { x: 0, y: 0 } }); + + await expect( + page.getByRole('heading', { name: 'Add actions to this tag' }) + ).not.toBeVisible(); + }); + + test('taxonomy settings for free', async ({ page }) => { + await page.goto('/wp-admin/post-new.php?post_type=feedzy_imports'); + await tryCloseTourModal(page); + + await page + .getByRole('button', { name: 'Step 3 Map content ' }) + .click(); + + await page + .locator('#feedzy_post_terms_chosen') + .getByRole('list') + .first() + .click(); + + await expect( + page.getByText( + 'CategoryUncategorizedProseparatorItem CategoriesPROAuto Categories by keywordPRO' + ) + ).toBeVisible(); + }); + + test('check if user can add pro features in free', async ({ page }) => { + await page.goto('/wp-admin/post-new.php?post_type=feedzy_imports'); + await tryCloseTourModal(page); + + await page.getByRole('button', { name: 'Step 2 Filters ' }).click(); + + await page.waitForTimeout(1000); + + await expect(page.getByLabel('Include If')).toBeDisabled(); + }); }); From 321edb12fd398c7fc406cccb5a12dde31865c58f Mon Sep 17 00:00:00 2001 From: Soare Robert-Daniel Date: Fri, 29 Aug 2025 14:36:22 +0300 Subject: [PATCH 2/2] chore: update tests --- tests/e2e/specs/import.spec.js | 36 +++------------------------------- 1 file changed, 3 insertions(+), 33 deletions(-) diff --git a/tests/e2e/specs/import.spec.js b/tests/e2e/specs/import.spec.js index fcc16137d..8f91f01c8 100644 --- a/tests/e2e/specs/import.spec.js +++ b/tests/e2e/specs/import.spec.js @@ -305,7 +305,9 @@ test.describe('Feed Import', () => { ).resolves.toBeGreaterThan(0); // We should have some imported images. }); - test('close popup when clicking outside', async ({ page }) => { + test('close Feedzy Action modal when clicking outside', async ({ + page, + }) => { await page.goto('/wp-admin/post-new.php?post_type=feedzy_imports'); await tryCloseTourModal(page); @@ -329,36 +331,4 @@ test.describe('Feed Import', () => { page.getByRole('heading', { name: 'Add actions to this tag' }) ).not.toBeVisible(); }); - - test('taxonomy settings for free', async ({ page }) => { - await page.goto('/wp-admin/post-new.php?post_type=feedzy_imports'); - await tryCloseTourModal(page); - - await page - .getByRole('button', { name: 'Step 3 Map content ' }) - .click(); - - await page - .locator('#feedzy_post_terms_chosen') - .getByRole('list') - .first() - .click(); - - await expect( - page.getByText( - 'CategoryUncategorizedProseparatorItem CategoriesPROAuto Categories by keywordPRO' - ) - ).toBeVisible(); - }); - - test('check if user can add pro features in free', async ({ page }) => { - await page.goto('/wp-admin/post-new.php?post_type=feedzy_imports'); - await tryCloseTourModal(page); - - await page.getByRole('button', { name: 'Step 2 Filters ' }).click(); - - await page.waitForTimeout(1000); - - await expect(page.getByLabel('Include If')).toBeDisabled(); - }); });