require 'rails_helper'

# label e grupo_de são só parsing do nome da tabela (sem tocar o banco).
RSpec.describe Operacao do
  describe '.label (caixa alta, sem parecer o nome do banco)' do
    it 'tira o prefixo e deixa em CAIXA ALTA' do
      expect(Operacao.label('gade_entregas_ubs_norte_maio_2026')).to eq('UBS NORTE MAIO 2026')
      expect(Operacao.label('gade_entregas_emad_fev_2026')).to eq('EMAD FEV 2026')
    end
  end

  describe '.grupo_de (agrupamento por mês)' do
    it 'reconhece o mês por EXTENSO (maio) e agrupa no mês certo, item em caixa alta' do
      g = Operacao.send(:grupo_de, 'gade_entregas_ubs_norte_maio_2026')
      expect(g[:titulo]).to eq('Maio 2026')
      expect(g[:item]).to eq('UBS NORTE')
    end

    it 'continua reconhecendo a abreviação (fev)' do
      g = Operacao.send(:grupo_de, 'gade_entregas_emad_fev_2026')
      expect(g[:titulo]).to eq('Fevereiro 2026')
      expect(g[:item]).to eq('EMAD')
    end

    it 'cai em "Outras" quando não há mês reconhecível' do
      g = Operacao.send(:grupo_de, 'gade_entregas_oeste_centro_remanescentes')
      expect(g[:titulo]).to eq('Outras')
      expect(g[:item]).to eq('OESTE CENTRO REMANESCENTES')
    end
  end
end
