import { test as base } from '@playwright/test'; import { BasePage, HomePage, AboutPage, ContactPage, ProductsPage, ServicesPage, CasesPage, NewsPage } from '../pages'; import { getEnvironmentConfig } from '../config/environments'; import { TestConfig as CustomTestConfig } from '../types'; type MyFixtures = { basePage: BasePage; homePage: HomePage; aboutPage: AboutPage; contactPage: ContactPage; productsPage: ProductsPage; servicesPage: ServicesPage; casesPage: CasesPage; newsPage: NewsPage; config: CustomTestConfig; }; export const test = base.extend({ config: async ({}, use: (value: CustomTestConfig) => Promise) => { const env = process.env.TEST_ENV || 'development'; const config = getEnvironmentConfig(env); await use(config); }, basePage: async ({ page }, use: (value: BasePage) => Promise) => { const basePage = new BasePage(page, '/'); await use(basePage); }, homePage: async ({ page, config }, use: (value: HomePage) => Promise) => { const homePage = new HomePage(page, config); await use(homePage); }, aboutPage: async ({ page, config }, use: (value: AboutPage) => Promise) => { const aboutPage = new AboutPage(page, config); await use(aboutPage); }, contactPage: async ({ page, config }, use: (value: ContactPage) => Promise) => { const contactPage = new ContactPage(page, config); await use(contactPage); }, productsPage: async ({ page, config }, use: (value: ProductsPage) => Promise) => { const productsPage = new ProductsPage(page, config); await use(productsPage); }, servicesPage: async ({ page, config }, use: (value: ServicesPage) => Promise) => { const servicesPage = new ServicesPage(page, config); await use(servicesPage); }, casesPage: async ({ page, config }, use: (value: CasesPage) => Promise) => { const casesPage = new CasesPage(page, config); await use(casesPage); }, newsPage: async ({ page, config }, use: (value: NewsPage) => Promise) => { const newsPage = new NewsPage(page, config); await use(newsPage); } }); export { expect } from '@playwright/test';