Correção e Adição do filtro ao vivo
This commit is contained in:
@@ -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([]) }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user