Files
pleno-vue/tests/e2e/userProfileVisibility.spec.ts
T
Jeppe Bundgaard 60742bf947 Refactor and migrate Playwright E2E tests:
- Remove `playwright.config.js` to clean up configuration.
- Add new E2E test suites (`admin-pos-orders`, `admin-module-goals`, `admin-module-pos-mobile-order-flow`) to structure Admin module tests.
- Introduce reusable authentication and data seeding utilities in `fixtures` for streamlined test flows and maintainability.
2026-03-19 12:46:47 +01:00

35 lines
1.3 KiB
TypeScript

import { test, expect } from '@playwright/test';
import {
userCredentials,
loginAsUser,
loginAsSubuserByPhone,
} from './fixtures';
// Navigate to profile page helper
async function goToUserProfile(page) {
await page.click('a[href="/user/profile"]');
await expect(page).toHaveURL('/user/profile');
}
/** User Profile Tests - Section Visibility */
test('[PROFILE][User][Visibility] should NOT display subuser sections for customer user', async ({ page }) => {
await loginAsUser(page);
await goToUserProfile(page);
// Customer users should see Invoicing section
await expect(page.locator('.card-header').filter({ hasText: 'Fakturaoplysninger' })).toBeVisible();
// Grant selector (users icon) should not be visible for customers
await expect(page.locator('.card-header .fa-users')).not.toBeVisible();
});
test('[PROFILE][Subuser][Visibility] should NOT display customer sections for subuser', async ({ page }) => {
await loginAsSubuserByPhone(page);
await goToUserProfile(page);
// Invoicing section should not be visible for subusers
await expect(page.locator('.card-header').filter({ hasText: 'Fakturaoplysninger' })).not.toBeVisible();
// Subuser should see driver profile sections
await expect(page.locator('.card-header').filter({ hasText: 'Chauffør' }).first()).toBeVisible();
});