import { chromium } from '@playwright/test';

const browser = await chromium.launch();
const page = await browser.newPage();

try {
  console.log('📍 1. Login page 접속...');
  await page.goto('http://178.104.200.7/taxbaik/admin/login', { waitUntil: 'networkidle' });
  
  console.log('📍 2. 로그인 입력...');
  await page.fill('input[placeholder="사용자명"]', 'test_admin');
  await page.fill('input[placeholder="비밀번호"]', 'TestAdmin@123456');
  await page.click('button:has-text("로그인")');
  
  console.log('📍 3. Dashboard 로드 대기...');
  await page.waitForURL(/\/taxbaik\/admin\/dashboard$/, { timeout: 10000 });
  console.log('✅ Dashboard로 이동 성공');
  
  console.log('📍 4. Settings page 접속...');
  await page.goto('http://178.104.200.7/taxbaik/admin/settings', { waitUntil: 'domcontentloaded' });
  
  console.log('📍 5. Settings 페이지 렌더링 대기...');
  await page.waitForTimeout(1500);
  
  console.log('📍 6. 페이지 콘텐츠 확인...');
  const formElements = await page.locator('input, button, .admin-section-header').count();
  
  console.log(`✅ 렌더링된 폼 요소: ${formElements}개`);
  
  if (formElements > 5) {
    console.log('✅ Settings 페이지 완전 렌더링됨 (흰 화면 없음)');
  } else {
    console.log('⚠️ Settings 페이지 부분 렌더링됨');
  }
  
  console.log('📍 7. 스크린샷 저장...');
  await page.screenshot({ path: 'settings-page.png' });
  console.log('✅ settings-page.png 저장됨');
  
} catch (error) {
  console.error('❌ 테스트 실패:', error.message);
  process.exit(1);
}

await browser.close();
