Files
ontime/e2e/tests/features/210-client-remote.spec.ts
2026-08-02 13:44:28 +02:00

58 lines
2.0 KiB
TypeScript

import { expect, test } from '@playwright/test';
test('redirect', async ({ context }) => {
const controllerPage = await context.newPage();
const remotePage = await context.newPage();
await controllerPage.goto('/editor?settings=network__clients');
await remotePage.goto('/timer');
const remoteClient = controllerPage.getByRole('row').filter({ hasText: /\/timer/ });
await remoteClient.getByTestId('not-self-redirect').click();
await controllerPage.getByRole('textbox', { name: 'http://localhost:' }).click();
await controllerPage.getByRole('textbox', { name: 'http://localhost:' }).fill('studio');
await controllerPage.getByRole('button', { name: 'Redirect to custom path' }).click();
await expect(remotePage.getByTestId('studio-view')).toBeVisible();
});
test('identify', async ({ context }) => {
const controllerPage = await context.newPage();
const remotePage = await context.newPage();
await controllerPage.goto('/editor?settings=network__clients');
await remotePage.goto('/timer');
await controllerPage
.getByRole('row')
.filter({ hasText: /\/timer/ })
.getByTestId('not-self-identify')
.click();
await expect(remotePage.getByTestId('identify-overlay')).toBeVisible();
});
test('rename', async ({ context }) => {
const controllerPage = await context.newPage();
const remotePage = await context.newPage();
await controllerPage.goto('/editor?settings=network__clients');
await remotePage.goto('/timer');
await controllerPage
.getByRole('row')
.filter({ hasText: /\/timer/ })
.getByTestId('not-self-rename')
.click();
await controllerPage.getByPlaceholder('new name').click();
await controllerPage.getByPlaceholder('new name').fill('test');
await controllerPage.getByRole('button', { name: 'Submit' }).click();
await controllerPage
.getByRole('row')
.filter({ hasText: /\/timer/ })
.getByTestId('not-self-identify')
.click();
await expect(remotePage.getByTestId('identify-overlay')).toContainText('test');
});