- 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.
35 lines
1.3 KiB
TypeScript
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();
|
|
});
|