diff --git a/app/controllers/instructeurs/dossiers_controller.rb b/app/controllers/instructeurs/dossiers_controller.rb index f62941ffb..740305d04 100644 --- a/app/controllers/instructeurs/dossiers_controller.rb +++ b/app/controllers/instructeurs/dossiers_controller.rb @@ -203,8 +203,7 @@ module Instructeurs end def update_annotations - dossier = current_instructeur.dossiers.includes(champs_private: :type_de_champ).find(params[:dossier_id]) - dossier.assign_attributes(champs_private_params) + dossier_with_champs.assign_attributes(champs_private_params) if dossier.champs_private.any?(&:changed?) dossier.last_champ_private_updated_at = Time.zone.now end @@ -278,19 +277,19 @@ module Instructeurs end def mark_demande_as_read - current_instructeur.mark_tab_as_seen(@dossier, :demande) + current_instructeur.mark_tab_as_seen(dossier, :demande) end def mark_messagerie_as_read - current_instructeur.mark_tab_as_seen(@dossier, :messagerie) + current_instructeur.mark_tab_as_seen(dossier, :messagerie) end def mark_avis_as_read - current_instructeur.mark_tab_as_seen(@dossier, :avis) + current_instructeur.mark_tab_as_seen(dossier, :avis) end def mark_annotations_privees_as_read - current_instructeur.mark_tab_as_seen(@dossier, :annotations_privees) + current_instructeur.mark_tab_as_seen(dossier, :annotations_privees) end def aasm_error_message(exception, target_state:) diff --git a/spec/controllers/instructeurs/dossiers_controller_spec.rb b/spec/controllers/instructeurs/dossiers_controller_spec.rb index e8a2a838e..bd3c80f20 100644 --- a/spec/controllers/instructeurs/dossiers_controller_spec.rb +++ b/spec/controllers/instructeurs/dossiers_controller_spec.rb @@ -408,8 +408,9 @@ describe Instructeurs::DossiersController, type: :controller do end describe '#messagerie' do + before { expect(controller.current_instructeur).to receive(:mark_tab_as_seen).with(dossier, :messagerie) } subject { get :messagerie, params: { procedure_id: procedure.id, dossier_id: dossier.id } } - it { expect(response).to have_http_status(:ok) } + it { expect(subject).to have_http_status(:ok) } end describe "#create_commentaire" do @@ -431,6 +432,7 @@ describe Instructeurs::DossiersController, type: :controller do } before do + expect(controller.current_instructeur).to receive(:mark_tab_as_seen).with(dossier, :messagerie) allow(ClamavService).to receive(:safe_file?).and_return(scan_result) Timecop.freeze(now) end @@ -480,6 +482,10 @@ describe Instructeurs::DossiersController, type: :controller do let(:saved_avis) { dossier.avis.first } let!(:old_avis_count) { Avis.count } + before do + expect(controller.current_instructeur).to receive(:mark_tab_as_seen).with(dossier, :avis) + end + subject do post :create_avis, params: { procedure_id: procedure.id, @@ -617,7 +623,10 @@ describe Instructeurs::DossiersController, type: :controller do } end - before { subject } + before do + expect(controller.current_instructeur).to receive(:mark_tab_as_seen).with(dossier, :demande) + subject + end it { expect(assigns(:include_infos_administration)).to eq(true) } it { expect(response).to render_template 'dossiers/show' } @@ -654,6 +663,7 @@ describe Instructeurs::DossiersController, type: :controller do end before do + expect(controller.current_instructeur).to receive(:mark_tab_as_seen).with(dossier, :annotations_privees) another_instructeur.follow(dossier) Timecop.freeze(now) patch :update_annotations, params: params