diff --git a/test/e2e/specs/ESM/esmComponentsPage.spec.ts b/test/e2e/specs/ESM/esmComponentsPage.spec.ts new file mode 100644 index 000000000..c00193f07 --- /dev/null +++ b/test/e2e/specs/ESM/esmComponentsPage.spec.ts @@ -0,0 +1,12 @@ +import { vpTest } from '../../fixtures/vpTest'; +import { ExampleLinkName } from '../../testData/ExampleLinkNames'; +import { getEsmLinkByName } from '../../testData/esmPageLinksData'; +import { ESM_URL } from '../../testData/esmUrl'; +import { testComponentsPageVideoIsPlaying } from '../commonSpecs/componentsPageVideoPlaying'; + +const link = getEsmLinkByName(ExampleLinkName.Components); + +vpTest(`Test if video on ESM components page is playing as expected`, async ({ page, pomPages }) => { + await page.goto(ESM_URL); + await testComponentsPageVideoIsPlaying(page, pomPages, link); +}); diff --git a/test/e2e/specs/NonESM/componentsPage.spec.ts b/test/e2e/specs/NonESM/componentsPage.spec.ts index f85bf4c2e..1a9d8e082 100644 --- a/test/e2e/specs/NonESM/componentsPage.spec.ts +++ b/test/e2e/specs/NonESM/componentsPage.spec.ts @@ -1,17 +1,10 @@ import { vpTest } from '../../fixtures/vpTest'; -import { test } from '@playwright/test'; -import { waitForPageToLoadWithTimeout } from '../../src/helpers/waitForPageToLoadWithTimeout'; import { getLinkByName } from '../../testData/pageLinksData'; import { ExampleLinkName } from '../../testData/ExampleLinkNames'; +import { testComponentsPageVideoIsPlaying } from '../commonSpecs/componentsPageVideoPlaying'; const link = getLinkByName(ExampleLinkName.Components); vpTest(`Test if video on components page is playing as expected`, async ({ page, pomPages }) => { - await test.step('Navigate to components page by clicking on link', async () => { - await pomPages.mainPage.clickLinkByName(link.name); - await waitForPageToLoadWithTimeout(page, 5000); - }); - await test.step('Validating that components video is playing', async () => { - await pomPages.componentsPage.componentsVideoComponent.validateVideoIsPlaying(true); - }); + await testComponentsPageVideoIsPlaying(page, pomPages, link); }); diff --git a/test/e2e/specs/commonSpecs/componentsPageVideoPlaying.ts b/test/e2e/specs/commonSpecs/componentsPageVideoPlaying.ts new file mode 100644 index 000000000..566cd1d1b --- /dev/null +++ b/test/e2e/specs/commonSpecs/componentsPageVideoPlaying.ts @@ -0,0 +1,14 @@ +import { Page, test } from '@playwright/test'; +import { waitForPageToLoadWithTimeout } from '../../src/helpers/waitForPageToLoadWithTimeout'; +import PageManager from '../../src/pom/PageManager'; +import { ExampleLinkType } from '../../types/exampleLinkType'; + +export async function testComponentsPageVideoIsPlaying(page: Page, pomPages: PageManager, link: ExampleLinkType) { + await test.step('Navigate to components page by clicking on link', async () => { + await pomPages.mainPage.clickLinkByName(link.name); + await waitForPageToLoadWithTimeout(page, 5000); + }); + await test.step('Validating that components video is playing', async () => { + await pomPages.componentsPage.componentsVideoComponent.validateVideoIsPlaying(true); + }); +}