vikunja/frontend/tests/support/fixtures.ts

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'