test-setup.ts 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. import { test as base } from '@playwright/test';
  2. import { readFileSync } from 'fs';
  3. import { join, dirname } from 'path';
  4. import { fileURLToPath } from 'url';
  5. import { AdminLoginPage } from '../pages/admin/login.page';
  6. import { DashboardPage } from '../pages/admin/dashboard.page';
  7. import { UserManagementPage } from '../pages/admin/user-management.page';
  8. import { DisabilityPersonManagementPage } from '../pages/admin/disability-person.page';
  9. import { RegionManagementPage } from '../pages/admin/region-management.page';
  10. import { OrderManagementPage } from '../pages/admin/order-management.page';
  11. const __filename = fileURLToPath(import.meta.url);
  12. const __dirname = dirname(__filename);
  13. const testUsers = JSON.parse(readFileSync(join(__dirname, '../fixtures/test-users.json'), 'utf-8'));
  14. type Fixtures = {
  15. adminLoginPage: AdminLoginPage;
  16. dashboardPage: DashboardPage;
  17. userManagementPage: UserManagementPage;
  18. disabilityPersonPage: DisabilityPersonManagementPage;
  19. regionManagementPage: RegionManagementPage;
  20. orderManagementPage: OrderManagementPage;
  21. testUsers: typeof testUsers;
  22. };
  23. export const test = base.extend<Fixtures>({
  24. adminLoginPage: async ({ page }, use) => {
  25. await use(new AdminLoginPage(page));
  26. },
  27. dashboardPage: async ({ page }, use) => {
  28. await use(new DashboardPage(page));
  29. },
  30. userManagementPage: async ({ page }, use) => {
  31. await use(new UserManagementPage(page));
  32. },
  33. disabilityPersonPage: async ({ page }, use) => {
  34. await use(new DisabilityPersonManagementPage(page));
  35. },
  36. regionManagementPage: async ({ page }, use) => {
  37. await use(new RegionManagementPage(page));
  38. },
  39. orderManagementPage: async ({ page }, use) => {
  40. await use(new OrderManagementPage(page));
  41. },
  42. testUsers: async ({}, use) => {
  43. await use(testUsers);
  44. },
  45. });
  46. export { expect } from '@playwright/test';