import { test, expect } from '@playwright/test';

test('직접 로그인 페이지 검증 - /Account/Login', async ({ page }) => {
  console.log('\n🧪 직접 /Account/Login 접속 테스트\n');
  
  try {
    const response = await page.goto('http://localhost:5265/Account/Login', { 
      waitUntil: 'networkidle',
      timeout: 10000 
    });
    
    console.log(`📍 최종 URL: ${page.url()}`);
    console.log(`📊 상태 코드: ${response?.status()}`);
    console.log(`📄 제목: ${await page.title()}`);
    
    // 실제 콘텐츠 확인
    const bodyText = await page.content();
    
    if (bodyText.includes('Not Found')) {
      console.log('❌ "Not Found" 발견됨');
    }
    if (bodyText.includes('로그인')) {
      console.log('✅ "로그인" 텍스트 발견');
    }
    if (bodyText.includes('QuantEngine')) {
      console.log('✅ "QuantEngine" 텍스트 발견');
    }
    if (bodyText.includes('아이디')) {
      console.log('✅ 입력 필드 발견');
    }
    
    // 로그인 폼 존재 확인
    const form = await page.locator('form').first();
    const formExists = await form.isVisible().catch(() => false);
    console.log(`📋 로그인 폼 존재: ${formExists ? '✅' : '❌'}`);
    
    // 입력 필드 확인
    const usernameInput = await page.locator('input[name="username"]').first();
    const usernameExists = await usernameInput.isVisible().catch(() => false);
    console.log(`🔐 아이디 입력 필드: ${usernameExists ? '✅' : '❌'}`);
    
    const passwordInput = await page.locator('input[name="password"]').first();
    const passwordExists = await passwordInput.isVisible().catch(() => false);
    console.log(`🔐 비밀번호 입력 필드: ${passwordExists ? '✅' : '❌'}`);
    
    // 제출 버튼 확인
    const submitButton = await page.locator('button[type="submit"]').first();
    const submitExists = await submitButton.isVisible().catch(() => false);
    console.log(`🔘 제출 버튼: ${submitExists ? '✅' : '❌'}`);
    
    // 스크린샷
    await page.screenshot({ path: 'test-results/login-page-actual.png', fullPage: true });
    console.log('📸 스크린샷 저장: test-results/login-page-actual.png');
    
  } catch (error) {
    console.log(`❌ 오류: ${error}`);
  }
});
