LibreChat/e2e/specs/nav.spec.ts
Danny Avila b993d9fb28
🛟 test: Restore Playwright Smoke E2E (#13020)
* test: restore Playwright smoke e2e

* test: harden e2e smoke setup

* test: sync e2e server bindings

* test: normalize e2e auth urls
2026-05-14 09:49:26 -04:00

32 lines
1.2 KiB
TypeScript

import { expect, test } from '@playwright/test';
test.describe('Navigation suite', () => {
test('Navigation bar', async ({ page }) => {
await page.goto('/', { timeout: 5000 });
await page.getByTestId('nav-user').click();
const navSettings = await page.getByTestId('nav-user').isVisible();
expect(navSettings).toBeTruthy();
});
test('Settings modal', async ({ page }) => {
await page.goto('/', { timeout: 5000 });
await page.getByTestId('nav-user').click();
await page.getByRole('menuitem', { name: 'Settings' }).click();
const modal = page.getByRole('dialog', { name: /Settings/ });
const modalHeading = modal.getByRole('heading', { name: 'Settings' });
await expect(modalHeading).toBeVisible();
const modalTitle = await modalHeading.textContent();
expect(modalTitle?.length).toBeGreaterThan(0);
expect(modalTitle).toEqual('Settings');
await expect(modal.getByRole('tablist', { name: 'Settings' })).toBeVisible();
await expect(modal.getByRole('tabpanel', { name: 'General' })).toBeVisible();
await expect(modal.getByRole('combobox', { name: 'Theme' })).toBeVisible();
await modal.getByRole('button', { name: 'Close Settings' }).click();
await expect(modalHeading).toBeHidden();
});
});