- Added e2e tests for auth flows (registration, login, password reset, TOTP) - Added e2e tests for onboarding and organization creation - Added e2e tests for team collaboration (org switching, invitations) - Added e2e tests for activity feed - Added e2e tests for device graphs (sensors, time ranges, interfaces) - Added e2e tests for MikroTik backup comparison - Added e2e tests for sites map (geographic view) - Added e2e tests for network trace tool - Fixed 'too many open files' error by configuring Phoenix code reloader to ignore deps/, _build/, node_modules/, e2e/, and other non-source directories - This prevents the file system watcher from monitoring unnecessary files
48 lines
1.4 KiB
TypeScript
48 lines
1.4 KiB
TypeScript
import { test, expect } from '@playwright/test';
|
|
|
|
test.describe('Onboarding', () => {
|
|
test('can create new organization', async ({ page }) => {
|
|
await page.goto('/orgs/new');
|
|
|
|
// Check if we can access the new org page
|
|
const currentUrl = page.url();
|
|
if (currentUrl.includes('log-in') || currentUrl.includes('sudo-verify')) {
|
|
// Requires authentication or sudo verification
|
|
return;
|
|
}
|
|
|
|
await expect(page).toHaveURL(/\/orgs\/new/);
|
|
await expect(page.locator('body')).toBeVisible();
|
|
});
|
|
|
|
test('shows organization creation form', async ({ page }) => {
|
|
await page.goto('/orgs/new');
|
|
|
|
// Skip if redirected
|
|
if ((await page.url()).includes('log-in')) {
|
|
return;
|
|
}
|
|
|
|
// Look for organization name field
|
|
const nameField = page.locator('input[name*="name"], input[id*="name"]').first();
|
|
|
|
if (await nameField.isVisible({ timeout: 2000 }).catch(() => false)) {
|
|
await expect(nameField).toBeVisible();
|
|
}
|
|
});
|
|
|
|
test('shows submit button on org creation', async ({ page }) => {
|
|
await page.goto('/orgs/new');
|
|
|
|
// Skip if redirected
|
|
if ((await page.url()).includes('log-in')) {
|
|
return;
|
|
}
|
|
|
|
const submitButton = page.locator('button[type="submit"], button:has-text("Create")').first();
|
|
|
|
if (await submitButton.isVisible({ timeout: 2000 }).catch(() => false)) {
|
|
await expect(submitButton).toBeVisible();
|
|
}
|
|
});
|
|
});
|