/// <reference types="cypress" />

describe('Relatórios Financeiros - Análise Visual', () => {
  beforeEach(() => {
    // Stub do endpoint de fluxo para independência de backend/autenticação
    cy.intercept('GET', /\/api\/financeiro\/relatorios\/fluxo.*/, {
      statusCode: 200,
      body: {
        totals: { entradas: 12500.55, saídas: 9320.10, saldo_periodo: 3180.45 },
        series: [
          { data: '2025-01-02', entradas: 1200, saídas: 800 },
          { data: '2025-01-15', entradas: 900, saídas: 1100 },
          { data: '2025-02-03', entradas: 1500, saídas: 700 },
          { data: '2025-02-20', entradas: 1800, saídas: 1600 },
          { data: '2025-03-05', entradas: 2200, saídas: 1700 },
        ]
      }
    }).as('fluxo');
  });

  it('renderiza barras em Entradas vs Saídas e Evolução Mensal', () => {
    cy.visit('/financeiro/relatorios');
    // Define período válido
    const inicio = '2025-01-01';
    const fim = '2025-03-31';
    cy.get('#dataInicio').clear().type(inicio);
    cy.get('#dataFim').clear().type(fim);
    // Gera relatório (qualquer tipo) e valida gráficos
    cy.get('#btnGerar').click();
    cy.wait('@fluxo');
    cy.get('#graficoEntradaSaida').find('div').should('have.length.at.least', 2);
    cy.get('#graficoEvolucao').find('div').should('have.length.at.least', 3);
  });
});