import { test, expect } from './auth.fixture';

test.describe('多租户隔离', () => {
  test('侧边栏按模块分组显示', async ({ page }) => {
    await page.goto('/#/');
    await page.waitForLoadState('networkidle');

    // 验证侧边栏模块分组
    await expect(page.locator('text=基础模块').first()).toBeVisible({ timeout: 10000 });
    await expect(page.locator('text=业务模块').first()).toBeVisible();
    await expect(page.locator('text=系统').first()).toBeVisible();

    // 验证关键菜单项
    await expect(page.locator('text=工作台').first()).toBeVisible();
    await expect(page.locator('text=用户管理').first()).toBeVisible();
  });

  test('顶部导航栏显示用户信息', async ({ page }) => {
    await page.goto('/#/');
    await page.waitForLoadState('networkidle');

    // 验证顶部导航栏显示管理员信息
    await expect(page.locator('text=系统管理员').first()).toBeVisible({ timeout: 10000 });
  });

  test('页面间导航正常工作', async ({ page }) => {
    await page.goto('/#/');
    await page.waitForLoadState('networkidle');

    // 点击侧边栏的用户管理（精确匹配侧边栏区域）
    const sidebar = page.locator('complementary, [class*=sider], [class*=menu], nav').first();
    await sidebar.locator('text=用户管理').first().click();
    await expect(page).toHaveURL(/#\/users/, { timeout: 10000 });

    // 点击工作台返回
    await sidebar.locator('text=工作台').first().click();
    await expect(page).toHaveURL(/#\/$/, { timeout: 10000 });
  });
});
