Correção e Adição do filtro ao vivo

This commit is contained in:
2026-06-29 20:50:07 -03:00
parent 7f21a16327
commit 6b899ebafa
9 changed files with 279 additions and 74 deletions

View File

@@ -73,6 +73,25 @@ RSpec.describe Analytics::OperacaoMetricas do
expect(metricas.pontos_mapa).to eq([[-23.5, -46.6], [-23.6, -46.7], [-23.4, -46.5]])
end
context 'com cross-filter (filtros)' do
subject(:filtrada) { described_class.new(tabelas: [], filtros: { 'driver' => 'Carlos' }) }
before { allow(filtrada).to receive(:registros).and_return(rows) }
it 'restringe todas as agregações ao valor filtrado' do
expect(filtrada.total).to eq(3)
expect(filtrada.sucesso).to eq(2)
expect(filtrada.recusas).to eq(1)
expect(filtrada.por_motorista).to eq([{ nome: 'Carlos', total: 3 }])
end
it 'ignora filtro com valor em branco' do
vazio = described_class.new(tabelas: [], filtros: { 'driver' => '' })
allow(vazio).to receive(:registros).and_return(rows)
expect(vazio.total).to eq(6)
end
end
context 'sem registros' do
before { allow(metricas).to receive(:registros).and_return([]) }