import { test, expect } from '@playwright/test'; import { login } from './helpers/auth'; test.describe('Settings', () => { test.beforeEach(async ({ page }) => { await login(page); await page.goto('/settings'); }); test('settings page renders', async ({ page }) => { await expect(page.locator('h1:has-text("Settings")')).toBeVisible(); }); test('tenant section loads org info', async ({ page }) => { await page.waitForTimeout(3000); // Should show tenant fields like name, address await expect(page.locator('text=Tenant, text=Organization').first()).toBeVisible({ timeout: 10000 }); }); test('users section visible to admin', async ({ page }) => { await page.waitForTimeout(2000); const usersSection = page.locator('text=Users'); await expect(usersSection).toBeVisible({ timeout: 10000 }).catch(() => {}); }); test('no crash when switching sections', async ({ page }) => { await page.waitForTimeout(2000); // Click through tab/section buttons const tabs = page.locator('button:has-text("Billing"), button:has-text("Areas"), button:has-text("Plans")'); const count = await tabs.count(); if (count > 0) { await tabs.first().click(); await page.waitForTimeout(500); } await expect(page.locator('h1:has-text("Settings")')).toBeVisible(); }); });