remove useless Export.by_key procedure_presentation arg
This commit is contained in:
parent
d1530b40a1
commit
603c2a108e
3 changed files with 9 additions and 25 deletions
|
@ -8,7 +8,7 @@ module Administrateurs
|
||||||
helper_method :create_archive_url
|
helper_method :create_archive_url
|
||||||
|
|
||||||
def index
|
def index
|
||||||
@exports = Export.ante_chronological.by_key(all_groupe_instructeurs.map(&:id), nil)
|
@exports = Export.ante_chronological.by_key(all_groupe_instructeurs.map(&:id))
|
||||||
@average_dossier_weight = @procedure.average_dossier_weight
|
@average_dossier_weight = @procedure.average_dossier_weight
|
||||||
@count_dossiers_termines_by_month = @procedure.dossiers.processed_by_month(all_groupe_instructeurs).count
|
@count_dossiers_termines_by_month = @procedure.dossiers.processed_by_month(all_groupe_instructeurs).count
|
||||||
@archives = Archive.for_groupe_instructeur(all_groupe_instructeurs).to_a
|
@archives = Archive.for_groupe_instructeur(all_groupe_instructeurs).to_a
|
||||||
|
|
|
@ -95,11 +95,8 @@ class Export < ApplicationRecord
|
||||||
joins(:groupe_instructeurs).where(groupe_instructeurs: groupe_instructeurs_ids).distinct(:id)
|
joins(:groupe_instructeurs).where(groupe_instructeurs: groupe_instructeurs_ids).distinct(:id)
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.by_key(groupe_instructeurs_ids, procedure_presentation)
|
def self.by_key(groupe_instructeurs_ids)
|
||||||
where(key: [
|
where(key: generate_cache_key(groupe_instructeurs_ids))
|
||||||
generate_cache_key(groupe_instructeurs_ids),
|
|
||||||
generate_cache_key(groupe_instructeurs_ids, procedure_presentation)
|
|
||||||
])
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.generate_cache_key(groupe_instructeurs_ids, procedure_presentation = nil)
|
def self.generate_cache_key(groupe_instructeurs_ids, procedure_presentation = nil)
|
||||||
|
|
|
@ -61,31 +61,18 @@ RSpec.describe Export, type: :model do
|
||||||
it { expect(groupe_instructeur.reload).to be_present }
|
it { expect(groupe_instructeur.reload).to be_present }
|
||||||
end
|
end
|
||||||
|
|
||||||
describe '.find_by groupe_instructeurs' do
|
describe '.by_key groupe_instructeurs' do
|
||||||
let!(:procedure) { create(:procedure) }
|
let!(:procedure) { create(:procedure) }
|
||||||
let!(:gi_1) { create(:groupe_instructeur, procedure: procedure, instructeurs: [create(:instructeur)]) }
|
let!(:gi_1) { create(:groupe_instructeur, procedure: procedure, instructeurs: [create(:instructeur)]) }
|
||||||
let!(:gi_2) { create(:groupe_instructeur, procedure: procedure, instructeurs: [create(:instructeur)]) }
|
let!(:gi_2) { create(:groupe_instructeur, procedure: procedure, instructeurs: [create(:instructeur)]) }
|
||||||
let!(:gi_3) { create(:groupe_instructeur, procedure: procedure, instructeurs: [create(:instructeur)]) }
|
let!(:gi_3) { create(:groupe_instructeur, procedure: procedure, instructeurs: [create(:instructeur)]) }
|
||||||
|
|
||||||
context 'without procedure_presentation' do
|
|
||||||
context 'when an export is made for one groupe instructeur' do
|
context 'when an export is made for one groupe instructeur' do
|
||||||
let!(:export) { create(:export, groupe_instructeurs: [gi_1, gi_2]) }
|
let!(:export) { create(:export, groupe_instructeurs: [gi_1, gi_2]) }
|
||||||
|
|
||||||
it { expect(Export.by_key([gi_1.id], nil)).to be_empty }
|
it { expect(Export.by_key([gi_1.id])).to be_empty }
|
||||||
it { expect(Export.by_key([gi_2.id, gi_1.id], nil)).to eq([export]) }
|
it { expect(Export.by_key([gi_2.id, gi_1.id])).to eq([export]) }
|
||||||
it { expect(Export.by_key([gi_1.id, gi_2.id, gi_3.id], nil)).to be_empty }
|
it { expect(Export.by_key([gi_1.id, gi_2.id, gi_3.id])).to be_empty }
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'with procedure_presentation and without' do
|
|
||||||
let!(:export_global) { create(:export, statut: Export.statuts.fetch(:tous), groupe_instructeurs: [gi_1, gi_2], procedure_presentation: nil) }
|
|
||||||
let!(:export_with_filter) { create(:export, statut: Export.statuts.fetch(:suivis), groupe_instructeurs: [gi_1, gi_2], procedure_presentation: create(:procedure_presentation, procedure: procedure, assign_to: gi_1.instructeurs.first.assign_to.first)) }
|
|
||||||
let!(:procedure_presentation) { create(:procedure_presentation, procedure: gi_1.procedure) }
|
|
||||||
|
|
||||||
it 'find global exports as well as filtered one' do
|
|
||||||
expect(Export.by_key([gi_2.id, gi_1.id], export_with_filter.procedure_presentation))
|
|
||||||
.to contain_exactly(export_with_filter, export_global)
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue