Implantação da função d adicionar entregas por fora da operação
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user