Implantação da função d adicionar entregas por fora da operação

This commit is contained in:
2026-06-19 14:35:18 -03:00
parent 81128e7a68
commit 79c0f646da
11 changed files with 361 additions and 3 deletions

View File

@@ -88,6 +88,31 @@ RSpec.describe Consolidacao, type: :model do
end
end
describe '#classificadas_count (ignora apontamentos manuais)' do
let(:consolidacao) { create(:consolidacao) }
it 'conta entregas elegíveis e ignora as manuais (não infla o progresso)' do
create(:consolidacao_entrega, consolidacao: consolidacao, motorista_nome: 'A', tracking_id: 'T1')
create(:consolidacao_entrega, consolidacao: consolidacao, motorista_nome: 'A', tracking_id: 'T2')
# Apontamento manual — fora do conjunto elegível do período.
create(:consolidacao_entrega, consolidacao: consolidacao, motorista_nome: 'A',
tracking_id: 'T3', manual: true)
expect(consolidacao.classificadas_count('A')).to eq(2)
end
it 'não ultrapassa o total elegível por causa de apontamentos (gate continua válido)' do
create(:consolidacao_motorista, consolidacao: consolidacao, motorista_nome: 'A')
allow(consolidacao).to receive(:entregas_elegiveis_count).and_return(1)
create(:consolidacao_entrega, consolidacao: consolidacao, motorista_nome: 'A', tracking_id: 'T1')
create(:consolidacao_entrega, consolidacao: consolidacao, motorista_nome: 'A',
tracking_id: 'T2', manual: true)
expect(consolidacao.classificadas_count('A')).to eq(1)
expect(consolidacao.todas_entregas_classificadas?).to be true
end
end
describe 'escopos de soft delete' do
it 'separa ativas de arquivadas' do
ativa = create(:consolidacao)