Modificação na area do motorista
This commit is contained in:
@@ -28,7 +28,7 @@ RSpec.describe Analytics::TotaisPorMotorista do
|
||||
consolidar(motorista: 'Carlos', valor: 50.0, qtd: 1) # 50
|
||||
consolidar(motorista: 'Pedro', valor: 30.0, qtd: 1) # 30
|
||||
consolidar(motorista: 'Carlos', valor: 999.0, status: :rascunho) # fora (rascunho)
|
||||
consolidar(motorista: 'Carlos', valor: 999.0, # fora (período)
|
||||
consolidar(motorista: 'Carlos', valor: 999.0, # fora (não cruza)
|
||||
data_inicio: Date.new(2026, 7, 1), data_fim: Date.new(2026, 7, 31))
|
||||
|
||||
expect(totais.linhas.map { |l| [l[:motorista], l[:valor_total]] })
|
||||
@@ -37,6 +37,29 @@ RSpec.describe Analytics::TotaisPorMotorista do
|
||||
expect(totais.total_consolidacoes).to eq(3)
|
||||
end
|
||||
|
||||
# ── Recorte de datas: o MESMO do dashboard financeiro ───────────────────
|
||||
# Quando estes dois casos divergiam do dashboard, o operador via dois valores
|
||||
# diferentes para o mesmo motorista no mesmo período e lia como erro de conta.
|
||||
it 'inclui a consolidação que CRUZA o período (não precisa caber inteira)' do
|
||||
# 20/05 a 20/06: começa antes do filtro, termina dentro.
|
||||
consolidar(motorista: 'Carlos', valor: 100.0,
|
||||
data_inicio: Date.new(2026, 5, 20), data_fim: Date.new(2026, 6, 20))
|
||||
# 20/06 a 20/07: começa dentro, termina depois.
|
||||
consolidar(motorista: 'Carlos', valor: 40.0,
|
||||
data_inicio: Date.new(2026, 6, 20), data_fim: Date.new(2026, 7, 20))
|
||||
|
||||
expect(totais.total_geral).to eq(140.0)
|
||||
end
|
||||
|
||||
it 'inclui a consolidação de outro período PAGA dentro do período' do
|
||||
_, cm = consolidar(motorista: 'Carlos', valor: 80.0,
|
||||
data_inicio: Date.new(2026, 4, 1), data_fim: Date.new(2026, 4, 30))
|
||||
cm.update!(pago_em: Time.zone.local(2026, 6, 10, 12, 0), forma_pagamento: 'pix')
|
||||
|
||||
expect(totais.total_geral).to eq(80.0)
|
||||
expect(totais.total_pago).to eq(80.0)
|
||||
end
|
||||
|
||||
it 'respeita o filtro de status (o mesmo select da lista)' do
|
||||
consolidar(motorista: 'Carlos', valor: 100.0)
|
||||
consolidar(motorista: 'Carlos', valor: 40.0, status: :rascunho)
|
||||
|
||||
Reference in New Issue
Block a user