describe('Relatórios - Análise Visual (sem dados)', () => {
  it('Exibe fallback "Sem dados para o período" e limpa legendas', () => {
    // Fluxo falha
    cy.intercept('GET', '/api/financeiro/relatorios/fluxo*', {
      statusCode: 404,
      body: { error: 'not found' }
    }).as('fluxoFalha');

    // Receber/Pagar também sem séries e totais zerados
    cy.intercept('GET', '/api/financeiro/relatorios/receber/resumo*', {
      statusCode: 200,
      body: { totals: { recebido: 0, pendente: 0, vencido: 0, total_geral: 0 }, series: [] }
    }).as('recResumo');
    cy.intercept('GET', '/api/financeiro/relatorios/pagar/resumo*', {
      statusCode: 200,
      body: { totals: { pago: 0, pendente: 0, vencido: 0, total_geral: 0 }, series: [] }
    }).as('payResumo');

    cy.visit('/financeiro/relatorios');
    cy.get('#dataInicio').clear().type('2024-02-01');
    cy.get('#dataFim').clear().type('2024-02-29');
    cy.get('#btnGerar').click();

    cy.wait('@fluxoFalha');
    cy.wait(['@recResumo','@payResumo']);

    // Mensagens de fallback nos dois gráficos
    cy.get('#graficoEntradaSaida').contains('Sem dados para o período').should('exist');
    cy.get('#graficoEntradaSaidaLegend').should('be.empty');
    cy.get('#graficoEvolucao').contains('Sem dados para o período').should('exist');
    cy.get('#graficoEvolucaoLegend').should('be.empty');
  });
});