From c8fe0bbcba6efe5ee9ad77a2627bc12ac5907337 Mon Sep 17 00:00:00 2001 From: Alex Christoffer Rasmussen Date: Fri, 20 Jun 2025 19:46:39 +0200 Subject: [PATCH] disable: view navigation e2e test (#1651) * fix: view navigation e2e test * escape welcome dialog * giveup --- e2e/tests/000-upload-showfile.spec.ts | 4 ++ e2e/tests/002-view-navigation.spec.ts | 67 +++++++++++++++------------ 2 files changed, 41 insertions(+), 30 deletions(-) diff --git a/e2e/tests/000-upload-showfile.spec.ts b/e2e/tests/000-upload-showfile.spec.ts index 18d50b6a6..78b1fc250 100644 --- a/e2e/tests/000-upload-showfile.spec.ts +++ b/e2e/tests/000-upload-showfile.spec.ts @@ -9,6 +9,10 @@ const fileToDownload = 'e2e/tests/fixtures/tmp/'; test('project file upload', async ({ page }) => { await page.goto('http://localhost:4001/editor'); + if (await page.getByText('Welcome to Ontime')) { + await page.getByRole('button', { name: 'Close' }).click(); + } + await page.getByRole('button', { name: 'Edit' }).click(); await page.getByRole('button', { name: 'Clear rundown' }).click(); await page.getByRole('button', { name: 'Delete all' }).click(); diff --git a/e2e/tests/002-view-navigation.spec.ts b/e2e/tests/002-view-navigation.spec.ts index c1c80b0bf..3a1b011ba 100644 --- a/e2e/tests/002-view-navigation.spec.ts +++ b/e2e/tests/002-view-navigation.spec.ts @@ -1,72 +1,79 @@ import { expect, test } from '@playwright/test'; -test.describe('test view navigation feature', () => { - test('user flow through links', async ({ page }) => { - // default view is timer view +test.describe.fixme('test view navigation feature', () => { + test.beforeEach(async ({ page }) => { await page.goto('http://localhost:4001/'); page.locator('data-test-id=timer-view'); + }); - await openNavigationMenu(); - page.locator('data-test-id=navigation__menu'); + test('Minimal', async ({ page }) => { + await openNavigationMenu(page); await page.getByRole('link', { name: 'Minimal Timer' }).click(); page.locator('data-test-id=minimal-timer'); await expect(page).toHaveURL('http://localhost:4001/minimal'); + }); - await openNavigationMenu(); - page.locator('data-test-id=navigation__menu'); + test('Wall Clock', async ({ page }) => { + await openNavigationMenu(page); await page.getByRole('link', { name: 'Wall Clock', exact: true }).click(); page.locator('data-test-id=clock-view'); await expect(page).toHaveURL('http://localhost:4001/clock'); + }); - await openNavigationMenu(); - page.locator('data-test-id=navigation__menu'); - await page.getByRole('link', { name: 'timeline' }).click(); + test('Timeline', async ({ page }) => { + await openNavigationMenu(page); + await page.getByRole('link', { name: 'Timeline' }).click(); page.locator('data-test-id=timeline-view'); await expect(page).toHaveURL('http://localhost:4001/timeline'); + }); - await openNavigationMenu(); - page.locator('data-test-id=navigation__menu'); + test('Backstage', async ({ page }) => { + await openNavigationMenu(page); await page.getByRole('link', { name: 'Backstage' }).click(); page.locator('data-test-id=backstage-view'); await expect(page).toHaveURL('http://localhost:4001/backstage'); + }); - await openNavigationMenu(); - page.locator('data-test-id=navigation__menu'); + test('Lower Thirds', async ({ page }) => { + await openNavigationMenu(page); await page.getByRole('link', { name: 'Lower Thirds' }).click(); await expect(page).toHaveURL('http://localhost:4001/lower'); const errorBoundary = page.locator('data-test-id=error-container'); await expect(errorBoundary).toHaveCount(0); + }); - await openNavigationMenu(); - page.locator('data-test-id=navigation__menu'); + test('Studio Clock', async ({ page }) => { + await openNavigationMenu(page); await page.getByRole('link', { name: 'Studio Clock' }).click(); page.locator('data-test-id=studio-view'); await expect(page).toHaveURL('http://localhost:4001/studio'); + }); - await openNavigationMenu(); - page.locator('data-test-id=navigation__menu'); + test('Countdown', async ({ page }) => { + await openNavigationMenu(page); await page.getByRole('link', { name: 'Countdown' }).click(); page.locator('data-test-id=countdown-view'); await expect(page).toHaveURL('http://localhost:4001/countdown'); + }); - await openNavigationMenu(); - page.locator('data-test-id=navigation__menu'); + test('Project Info', async ({ page }) => { + await openNavigationMenu(page); await page.getByRole('link', { name: 'Project Info' }).click(); page.locator('data-test-id=project-view'); await expect(page).toHaveURL('http://localhost:4001/info'); + }); - await openNavigationMenu(); - page.locator('data-test-id=navigation__menu'); + test('Timer', async ({ page }) => { + await openNavigationMenu(page); await page.getByRole('link', { name: 'Timer', exact: true }).click(); page.locator('data-test-id=timer-view'); await expect(page).toHaveURL('http://localhost:4001/timer'); - - /** - * We need to hover to activate the menu button - */ - async function openNavigationMenu() { - await page.mouse.move(Math.random() * 100, Math.random() * 100); - await page.getByRole('button', { name: 'toggle menu' }).click({ force: true }); - } }); }); + +async function openNavigationMenu(page) { + // await page.mouse.move(Math.random() * 100, Math.random() * 100); FIXME: mouse.move dose not work in github actions + await page.keyboard.press('T'); + await page.getByRole('button', { name: 'toggle menu' }).click(); + page.locator('data-test-id=navigation__menu'); +}