2
0
Files
bot/apps/builder/playwright/global-setup.ts
2022-01-28 09:42:31 +01:00

32 lines
1002 B
TypeScript

import { chromium, FullConfig, Page } from '@playwright/test'
import { setupDatabase, teardownDatabase, user } from './services/database'
async function globalSetup(config: FullConfig) {
const { baseURL } = config.projects[0].use
if (!baseURL) throw new Error('baseURL is missing')
await teardownDatabase()
await setupDatabase()
// Skip auth if debugging
if (process.env.PWDEBUG === '1') return
const browser = await chromium.launch()
const page = await browser.newPage()
await signIn(page, user.email)
await page.context().storageState({
path: './playwright/authenticatedState.json',
})
}
const signIn = async (page: Page, email: string) => {
await page.goto('http://localhost:3000/api/auth/signin')
await page.fill('[placeholder="credentials\\@email\\.com"]', email)
await Promise.all([
page.waitForNavigation({ url: 'http://localhost:3000/typebots' }),
page.press('[placeholder="credentials\\@email\\.com"]', 'Enter'),
])
}
export default globalSetup