describe('作品浏览测试', () => {
  beforeEach(() => {
    cy.visit('/');
  });

  it('应该显示作品列表', () => {
    // 等待作品列表加载
    cy.get('.work-card', { timeout: 15000 }).should('have.length.at.least', 1);
    
    // 获取作品数量
    cy.get('.work-card').then($cards => {
      cy.log(`✅ 作品列表测试通过 - 共 ${$cards.length} 个作品`);
    });
  });

  it('应该能够查看作品详情', () => {
    // 等待作品列表加载
    cy.get('.work-card', { timeout: 15000 }).should('exist');
    
    // 点击第一个作品
    cy.get('.work-card').first().click();
    
    // 等待详情页加载
    cy.url().should('include', '/detail/');
    cy.get('.work-detail-page', { timeout: 10000 }).should('be.visible');
    
    // 验证标题存在
    cy.get('h1, h2').should('exist');
    
    // 获取作品标题
    cy.get('h1, h2').first().invoke('text').then(title => {
      cy.log(`✅ 作品详情测试通过 - 作品: ${title.trim()}`);
    });
  });

  it('应该显示作品信息', () => {
    // 进入作品详情页
    cy.get('.work-card', { timeout: 15000 }).first().click();
    cy.wait(2000);
    
    // 验证作品信息显示
    cy.get('.work-detail-page').should('be.visible');
    
    // 验证关键元素
    cy.get('.work-title').should('exist');
    cy.get('.download-btn').should('exist');
    
    cy.log('✅ 作品信息显示测试通过');
  });

  it('应该显示相关作品', () => {
    // 进入作品详情页
    cy.get('.work-card', { timeout: 15000 }).first().click();
    cy.wait(2000);
    
    // 向下滚动查看相关作品
    cy.scrollTo('bottom', { duration: 1000 });
    cy.wait(1000);
    
    // 验证相关作品存在（如果有的话）
    cy.get('body').then($body => {
      if ($body.find('.related-works, .similar-works').length > 0) {
        cy.get('.related-works, .similar-works').should('be.visible');
        cy.log('✅ 相关作品显示测试通过');
      } else {
        cy.log('✅ 相关作品功能未实现（跳过）');
      }
    });
  });
});
