import { test as base } from '@playwright/test'; import { readFileSync } from 'fs'; import { join, dirname } from 'path'; import { fileURLToPath } from 'url'; import { AdminLoginPage } from '../pages/admin/login.page'; import { DashboardPage } from '../pages/admin/dashboard.page'; import { UserManagementPage } from '../pages/admin/user-management.page'; import { DisabilityPersonManagementPage } from '../pages/admin/disability-person.page'; import { RegionManagementPage } from '../pages/admin/region-management.page'; import { OrderManagementPage } from '../pages/admin/order-management.page'; const __filename = fileURLToPath(import.meta.url); const __dirname = dirname(__filename); const testUsers = JSON.parse(readFileSync(join(__dirname, '../fixtures/test-users.json'), 'utf-8')); type Fixtures = { adminLoginPage: AdminLoginPage; dashboardPage: DashboardPage; userManagementPage: UserManagementPage; disabilityPersonPage: DisabilityPersonManagementPage; regionManagementPage: RegionManagementPage; orderManagementPage: OrderManagementPage; testUsers: typeof testUsers; }; export const test = base.extend({ adminLoginPage: async ({ page }, use) => { await use(new AdminLoginPage(page)); }, dashboardPage: async ({ page }, use) => { await use(new DashboardPage(page)); }, userManagementPage: async ({ page }, use) => { await use(new UserManagementPage(page)); }, disabilityPersonPage: async ({ page }, use) => { await use(new DisabilityPersonManagementPage(page)); }, regionManagementPage: async ({ page }, use) => { await use(new RegionManagementPage(page)); }, orderManagementPage: async ({ page }, use) => { await use(new OrderManagementPage(page)); }, testUsers: async ({}, use) => { await use(testUsers); }, }); export { expect } from '@playwright/test';