33 lines
870 B
TypeScript
33 lines
870 B
TypeScript
import {test as base, type APIRequestContext, type Page} from '@playwright/test'
|
|
import {Factory} from './factory'
|
|
import {login, createFakeUser} from './authenticateUser'
|
|
|
|
export const test = base.extend<{
|
|
apiContext: APIRequestContext;
|
|
authenticatedPage: Page;
|
|
currentUser: any;
|
|
}>({
|
|
apiContext: async ({playwright}, use) => {
|
|
const baseURL = process.env.API_URL || 'http://localhost:3456/api/v1/'
|
|
const apiContext = await playwright.request.newContext({
|
|
baseURL,
|
|
})
|
|
|
|
Factory.setRequestContext(apiContext)
|
|
await use(apiContext)
|
|
await apiContext.dispose()
|
|
},
|
|
|
|
currentUser: async ({apiContext}, use) => {
|
|
const user = await createFakeUser()
|
|
await use(user)
|
|
},
|
|
|
|
authenticatedPage: async ({page, apiContext, currentUser}, use) => {
|
|
await login(page, apiContext, currentUser)
|
|
await use(page)
|
|
},
|
|
})
|
|
|
|
export {expect} from '@playwright/test'
|