import { expect } from '@playwright/test'

// 테스트 계정·퀴즈 slug는 deploy/e2e.sh 가 임시 스택을 띄우며 env로 주입한다.
// (기본값은 로컬에서 같은 값으로 스택을 띄웠을 때를 위한 폴백)
export const STUDENT = {
  username: process.env.E2E_STUDENT_USER || 'e2estudent',
  password: process.env.E2E_STUDENT_PASS || 'E2ePass123!',
}
export const MENTOR = {
  username: process.env.E2E_MENTOR_USER || 'mentor1',
  password: process.env.E2E_MENTOR_PASS || 'e2e-mentor-pass',
}
export const QUIZ_SLUG = process.env.E2E_QUIZ_SLUG || ''

/** 로그인 폼을 채워 제출하고, 대시보드(/)로 이동할 때까지 기다린다. */
export async function login(page, account) {
  await page.goto('/login')
  await page.locator('#username').fill(account.username)
  await page.locator('#password').fill(account.password)
  await page.getByRole('button', { name: '로그인' }).click()
  await page.waitForURL((url) => url.pathname === '/', { timeout: 15_000 })
  await expect(page.getByText('주차 진행 상황', { exact: false })).toBeVisible()
}
