correção do filtro de veiculos na area de consolidação

This commit is contained in:
2026-07-03 10:19:10 -03:00
parent eca6df39eb
commit 0a6b5a68fc
8 changed files with 144 additions and 61 deletions

View File

@@ -293,6 +293,29 @@ RSpec.describe Consolidacao, type: :model do
end
end
describe '#arquivar_veiculos_pendentes!' do
let(:consolidacao) { create(:consolidacao) }
let(:gerente) { create(:gerente) }
before { create(:consolidacao_motorista, consolidacao: consolidacao, motorista_nome: 'A') }
it 'arquiva só os veículos pendentes (com elegíveis e < 100%)' do
allow(consolidacao).to receive(:veiculos_do_motorista).with('A').and_return([
{ vehicle: 'GADE_1', eligible: 5, classificadas: 5, completo: true, fechado: true, arquivado: false },
{ vehicle: 'GADE_2', eligible: 3, classificadas: 1, completo: false, fechado: false, arquivado: false },
{ vehicle: '(sem veículo)', eligible: 0, classificadas: 0, completo: false, fechado: false, arquivado: false }
])
arquivados = consolidacao.arquivar_veiculos_pendentes!(gerente)
expect(arquivados).to eq(['A · GADE_2'])
expect(consolidacao.consolidacao_veiculos.find_by(motorista_nome: 'A', vehicle: 'GADE_2')).to be_arquivado
# não mexe no consolidado (GADE_1) nem no bucket sem elegíveis
expect(consolidacao.consolidacao_veiculos.where(vehicle: 'GADE_1')).not_to exist
expect(consolidacao.consolidacao_veiculos.where(vehicle: '(sem veículo)')).not_to exist
end
end
describe '#finalizar! fecha os veículos ainda abertos' do
let(:consolidacao) { create(:consolidacao) }
let(:gerente) { create(:gerente) }