remove useless Export.by_key procedure_presentation arg

This commit is contained in:
simon lehericey 2024-10-14 15:22:05 +02:00
parent d1530b40a1
commit 603c2a108e
No known key found for this signature in database
GPG key ID: CDE670D827C7B3C5
3 changed files with 9 additions and 25 deletions

View file

@ -8,7 +8,7 @@ module Administrateurs
helper_method :create_archive_url
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
@count_dossiers_termines_by_month = @procedure.dossiers.processed_by_month(all_groupe_instructeurs).count
@archives = Archive.for_groupe_instructeur(all_groupe_instructeurs).to_a

View file

@ -95,11 +95,8 @@ class Export < ApplicationRecord
joins(:groupe_instructeurs).where(groupe_instructeurs: groupe_instructeurs_ids).distinct(:id)
end
def self.by_key(groupe_instructeurs_ids, procedure_presentation)
where(key: [
generate_cache_key(groupe_instructeurs_ids),
generate_cache_key(groupe_instructeurs_ids, procedure_presentation)
])
def self.by_key(groupe_instructeurs_ids)
where(key: generate_cache_key(groupe_instructeurs_ids))
end
def self.generate_cache_key(groupe_instructeurs_ids, procedure_presentation = nil)

View file

@ -61,31 +61,18 @@ RSpec.describe Export, type: :model do
it { expect(groupe_instructeur.reload).to be_present }
end
describe '.find_by groupe_instructeurs' do
describe '.by_key groupe_instructeurs' do
let!(:procedure) { create(:procedure) }
let!(:gi_1) { 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)]) }
context 'without procedure_presentation' do
context 'when an export is made for one groupe instructeur' do
let!(:export) { create(:export, groupe_instructeurs: [gi_1, gi_2]) }
context 'when an export is made for one groupe instructeur' do
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_2.id, gi_1.id], nil)).to eq([export]) }
it { expect(Export.by_key([gi_1.id, gi_2.id, gi_3.id], nil)).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
it { expect(Export.by_key([gi_1.id])).to be_empty }
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])).to be_empty }
end
end