From a2c636d78462cff7e4823fc536013dbf9c843240 Mon Sep 17 00:00:00 2001 From: Eric Leroy-Terquem Date: Thu, 29 Jun 2023 11:45:20 +0200 Subject: [PATCH] fix(tests): create groupe instructeurs with factory --- .../groupe_instructeurs_controller_spec.rb | 27 +++++++++---------- .../routing_controller_spec.rb | 4 +-- .../api/v2/graphql_controller_spec.rb | 3 ++- .../groupe_instructeurs_controller_spec.rb | 4 +-- .../procedures_controller_spec.rb | 5 ++-- spec/factories/procedure.rb | 2 +- .../concern/tags_substitution_concern_spec.rb | 3 ++- spec/models/instructeur_spec.rb | 4 +-- spec/models/procedure_overview_spec.rb | 4 +-- spec/models/procedure_presentation_spec.rb | 4 +-- .../services/procedure_export_service_spec.rb | 2 +- 11 files changed, 32 insertions(+), 30 deletions(-) diff --git a/spec/controllers/administrateurs/groupe_instructeurs_controller_spec.rb b/spec/controllers/administrateurs/groupe_instructeurs_controller_spec.rb index b41ae8c0c..bf7a1250a 100644 --- a/spec/controllers/administrateurs/groupe_instructeurs_controller_spec.rb +++ b/spec/controllers/administrateurs/groupe_instructeurs_controller_spec.rb @@ -3,13 +3,13 @@ describe Administrateurs::GroupeInstructeursController, type: :controller do include Logic let(:admin) { create(:administrateur) } - let(:procedure) { create(:procedure, :published, :for_individual, administrateurs: [admin]) } + let(:procedure) { create(:procedure, :routee, :published, :for_individual, administrateurs: [admin]) } let!(:gi_1_1) { procedure.defaut_groupe_instructeur } - let!(:gi_1_2) { procedure.groupe_instructeurs.create(label: 'groupe instructeur 2') } + let!(:gi_1_2) { procedure.defaut_groupe_instructeur.other_groupe_instructeurs.first } - let(:procedure2) { create(:procedure, :published) } - let!(:gi_2_2) { procedure2.groupe_instructeurs.create(label: 'groupe instructeur 2 2') } + let(:procedure2) { create(:procedure, :routee, :published) } + let!(:gi_2_2) { procedure2.defaut_groupe_instructeur.other_groupe_instructeurs.first } before { sign_in(admin.user) } @@ -24,11 +24,10 @@ describe Administrateurs::GroupeInstructeursController, type: :controller do expect(response).to have_http_status(:ok) expect(response.body).to include(gi_1_1.label) expect(response.body).to include(gi_1_2.label) - expect(response.body).not_to include(gi_2_2.label) end context 'when there is a search' do - let(:params) { { procedure_id: procedure.id, q: '2' } } + let(:params) { { procedure_id: procedure.id, q: 'deuxième' } } it do expect(assigns(:groupes_instructeurs)).to match_array([gi_1_2]) @@ -150,7 +149,7 @@ describe Administrateurs::GroupeInstructeursController, type: :controller do context 'with many groups' do context 'of a group that can be deleted' do before { delete_group gi_1_2 } - it { expect(flash.notice).to eq "le groupe « groupe instructeur 2 » a été supprimé et le routage a été désactivé." } + it { expect(flash.notice).to eq "le groupe « deuxième groupe » a été supprimé et le routage a été désactivé." } it { expect(procedure.groupe_instructeurs.count).to eq(1) } it { expect(procedure.reload.routing_enabled?).to eq(false) } it { expect(response).to redirect_to(admin_procedure_groupe_instructeurs_path(procedure)) } @@ -168,7 +167,7 @@ describe Administrateurs::GroupeInstructeursController, type: :controller do end describe '#reaffecter_dossiers' do - let!(:gi_1_3) { procedure.groupe_instructeurs.create(label: 'groupe instructeur 3') } + let!(:gi_1_3) { create(:groupe_instructeur, label: 'groupe instructeur 3', procedure: procedure) } before do get :reaffecter_dossiers, @@ -189,7 +188,7 @@ describe Administrateurs::GroupeInstructeursController, type: :controller do end describe '#reaffecter' do - let!(:gi_1_3) { procedure.groupe_instructeurs.create(label: 'groupe instructeur 3') } + let!(:gi_1_3) { create(:groupe_instructeur, label: 'groupe instructeur 3', procedure: procedure) } let!(:dossier12) { create(:dossier, :en_construction, :with_individual, procedure: procedure, groupe_instructeur: gi_1_1) } let!(:instructeur) { create(:instructeur) } let!(:bulk_message) { BulkMessage.create(dossier_count: 2, dossier_state: "brouillon", body: "hello", sent_at: Time.zone.now, groupe_instructeurs: [gi_1_1, gi_1_3], instructeur: instructeur) } @@ -255,7 +254,7 @@ describe Administrateurs::GroupeInstructeursController, type: :controller do end context 'when the name is already taken' do - let!(:gi_1_2) { procedure_non_routee.groupe_instructeurs.create(label: 'groupe instructeur 2') } + let!(:gi_1_2) { procedure_non_routee.groupe_instructeurs.create(label: 'deuxième groupe') } let(:new_name) { gi_1_2.label } it do @@ -269,7 +268,7 @@ describe Administrateurs::GroupeInstructeursController, type: :controller do let(:closed_value) { '0' } let!(:procedure_non_routee) { create(:procedure, :published, :for_individual, administrateurs: [admin]) } let!(:gi_1_1) { procedure_non_routee.defaut_groupe_instructeur } - let!(:gi_1_2) { procedure_non_routee.groupe_instructeurs.create(label: 'groupe instructeur 2') } + let!(:gi_1_2) { procedure_non_routee.groupe_instructeurs.create(label: 'deuxième groupe') } before do patch :update_state, @@ -299,7 +298,7 @@ describe Administrateurs::GroupeInstructeursController, type: :controller do it do expect(subject).to redirect_to admin_procedure_groupe_instructeur_path(procedure_non_routee, gi_1_2) expect(gi_1_2.closed).to eq(true) - expect(flash.notice).to eq('Le groupe groupe instructeur 2 est désactivé.') + expect(flash.notice).to eq('Le groupe deuxième groupe est désactivé.') end end end @@ -524,7 +523,7 @@ describe Administrateurs::GroupeInstructeursController, type: :controller do subject end - it { expect(procedure.groupe_instructeurs.pluck(:label)).to match_array(["Auvergne-Rhône-Alpes", "Vendée", "défaut", "groupe instructeur 2"]) } + it { expect(procedure.groupe_instructeurs.pluck(:label)).to match_array(["Auvergne-Rhône-Alpes", "Vendée", "défaut", "deuxième groupe"]) } it { expect(flash.notice).to be_present } it { expect(flash.notice).to eq("La liste des instructeurs a été importée avec succès") } it { expect(GroupeInstructeurMailer).to have_received(:notify_added_instructeurs).twice } @@ -685,7 +684,7 @@ describe Administrateurs::GroupeInstructeursController, type: :controller do it 'generates a CSV file containing the instructeurs and groups' do expect(subject.status).to eq(200) expect(subject.stream.body.split("\n").size).to eq(3) - expect(subject.stream.body).to include("groupe instructeur 2") + expect(subject.stream.body).to include("deuxième groupe") expect(subject.stream.body).to include(instructeur_assigned_1.email) expect(subject.stream.body).to include(instructeur_assigned_2.email) expect(subject.header["Content-Disposition"]).to include("#{procedure.id}-groupe-instructeurs-#{Date.today}.csv") diff --git a/spec/controllers/administrateurs/routing_controller_spec.rb b/spec/controllers/administrateurs/routing_controller_spec.rb index 6db618df0..03eb31d36 100644 --- a/spec/controllers/administrateurs/routing_controller_spec.rb +++ b/spec/controllers/administrateurs/routing_controller_spec.rb @@ -5,7 +5,7 @@ describe Administrateurs::RoutingController, type: :controller do describe '#update targeted champ' do let(:procedure) { create(:procedure, types_de_champ_public: [{ type: :drop_down_list, libelle: 'Votre ville', options: ['Paris', 'Lyon', 'Marseille'] }, { type: :text, libelle: 'Un champ texte' }]) } - let(:gi_2) { procedure.groupe_instructeurs.create(label: 'groupe 2') } + let(:gi_2) { create(:groupe_instructeur, label: 'groupe 2', procedure: procedure) } let(:drop_down_tdc) { procedure.draft_revision.types_de_champ.first } let(:params) do { @@ -52,7 +52,7 @@ describe Administrateurs::RoutingController, type: :controller do describe "#update_defaut_groupe_instructeur" do let(:procedure) { create(:procedure) } - let(:gi_2) { procedure.groupe_instructeurs.create(label: 'groupe 2') } + let(:gi_2) { create(:groupe_instructeur, label: 'groupe 2', procedure: procedure) } let(:params) do { procedure_id: procedure.id, diff --git a/spec/controllers/api/v2/graphql_controller_spec.rb b/spec/controllers/api/v2/graphql_controller_spec.rb index 9b3ec3e20..1196834e5 100644 --- a/spec/controllers/api/v2/graphql_controller_spec.rb +++ b/spec/controllers/api/v2/graphql_controller_spec.rb @@ -1193,7 +1193,8 @@ describe API::V2::GraphqlController do end context "should changer groupe instructeur" do - let!(:new_groupe_instructeur) { procedure.groupe_instructeurs.create(label: 'new groupe instructeur') } + let!(:new_groupe_instructeur) { create(:groupe_instructeur, label: 'new groupe instructeur', procedure: procedure) } + let(:query) do "mutation { dossierChangerGroupeInstructeur(input: { diff --git a/spec/controllers/instructeurs/groupe_instructeurs_controller_spec.rb b/spec/controllers/instructeurs/groupe_instructeurs_controller_spec.rb index fdb0c91f6..6452b8f26 100644 --- a/spec/controllers/instructeurs/groupe_instructeurs_controller_spec.rb +++ b/spec/controllers/instructeurs/groupe_instructeurs_controller_spec.rb @@ -4,10 +4,10 @@ describe Instructeurs::GroupeInstructeursController, type: :controller do let(:instructeur) { create(:instructeur) } let(:procedure) { create(:procedure, :published) } let!(:gi_1_1) { procedure.defaut_groupe_instructeur } - let!(:gi_1_2) { procedure.groupe_instructeurs.create(label: 'groupe instructeur 2') } + let!(:gi_1_2) { create(:groupe_instructeur, label: 'groupe instructeur 2', procedure: procedure) } let(:procedure2) { create(:procedure, :published) } - let!(:gi_2_2) { procedure2.groupe_instructeurs.create(label: 'groupe instructeur 2 2') } + let!(:gi_2_2) { create(:groupe_instructeur, label: 'groupe instructeur 2 2', procedure: procedure2) } before do gi_1_2.instructeurs << instructeur diff --git a/spec/controllers/instructeurs/procedures_controller_spec.rb b/spec/controllers/instructeurs/procedures_controller_spec.rb index c0ded97cb..a6b7614f0 100644 --- a/spec/controllers/instructeurs/procedures_controller_spec.rb +++ b/spec/controllers/instructeurs/procedures_controller_spec.rb @@ -241,8 +241,9 @@ describe Instructeurs::ProceduresController, type: :controller do describe "#show" do let(:instructeur) { create(:instructeur) } let!(:procedure) { create(:procedure, :expirable, instructeurs: [instructeur]) } - let!(:gi_2) { procedure.groupe_instructeurs.create(label: '2') } - let!(:gi_3) { procedure.groupe_instructeurs.create(label: '3') } + let!(:gi_2) { create(:groupe_instructeur, label: '2', procedure: procedure) } + let!(:gi_3) { create(:groupe_instructeur, label: '3', procedure: procedure) } + let(:statut) { nil } subject do diff --git a/spec/factories/procedure.rb b/spec/factories/procedure.rb index 807da2b7d..e15608939 100644 --- a/spec/factories/procedure.rb +++ b/spec/factories/procedure.rb @@ -129,7 +129,7 @@ FactoryBot.define do trait :routee do after(:create) do |procedure, _evaluator| - procedure.groupe_instructeurs.create(label: 'deuxième groupe') + create(:groupe_instructeur, label: 'deuxième groupe', procedure: procedure) end end diff --git a/spec/models/concern/tags_substitution_concern_spec.rb b/spec/models/concern/tags_substitution_concern_spec.rb index 1621a026e..a2fe96f1f 100644 --- a/spec/models/concern/tags_substitution_concern_spec.rb +++ b/spec/models/concern/tags_substitution_concern_spec.rb @@ -78,8 +78,9 @@ describe TagsSubstitutionConcern, type: :model do let!(:dossier) { create(:dossier, procedure: procedure, individual: individual, etablissement: etablissement, state: state) } context 'and the dossier has a groupe instructeur' do label = 'Ville de Bordeaux' + let(:gi) { create(:groupe_instructeur, label: label, procedure: procedure) } + before do - gi = procedure.groupe_instructeurs.create(label: label) gi.dossiers << dossier dossier.update(groupe_instructeur: gi) dossier.reload diff --git a/spec/models/instructeur_spec.rb b/spec/models/instructeur_spec.rb index c15045aff..cfae2c053 100644 --- a/spec/models/instructeur_spec.rb +++ b/spec/models/instructeur_spec.rb @@ -573,8 +573,8 @@ describe Instructeur, type: :model do let(:instructeur_3) { create(:instructeur) } let(:procedure) { create(:procedure, instructeurs: [instructeur_2, instructeur_3], procedure_expires_when_termine_enabled: true) } let(:gi_1) { procedure.defaut_groupe_instructeur } - let(:gi_2) { procedure.groupe_instructeurs.create(label: '2') } - let(:gi_3) { procedure.groupe_instructeurs.create(label: '3') } + let(:gi_2) { create(:groupe_instructeur, label: '2', procedure: procedure) } + let(:gi_3) { create(:groupe_instructeur, label: '3', procedure: procedure) } subject do instructeur_2.dossiers_count_summary([gi_1.id, gi_2.id]) diff --git a/spec/models/procedure_overview_spec.rb b/spec/models/procedure_overview_spec.rb index f27e4547f..df4affa98 100644 --- a/spec/models/procedure_overview_spec.rb +++ b/spec/models/procedure_overview_spec.rb @@ -62,8 +62,8 @@ describe ProcedureOverview, type: :model do end describe 'with a procedure routee' do - let!(:gi_2) { procedure.groupe_instructeurs.create(label: 'groupe instructeur 2') } - let!(:gi_3) { procedure.groupe_instructeurs.create(label: 'groupe instructeur 3') } + let!(:gi_2) { create(:groupe_instructeur, label: 'groupe instructeur 2', procedure: procedure) } + let!(:gi_3) { create(:groupe_instructeur, label: 'groupe instructeur 3', procedure: procedure) } def create_dossier_in_group(g) create(:dossier, procedure: procedure, created_at: monday, state: Dossier.states.fetch(:en_instruction), groupe_instructeur: g) diff --git a/spec/models/procedure_presentation_spec.rb b/spec/models/procedure_presentation_spec.rb index a3d9e427a..6197c4928 100644 --- a/spec/models/procedure_presentation_spec.rb +++ b/spec/models/procedure_presentation_spec.rb @@ -784,8 +784,8 @@ describe ProcedurePresentation do context 'for groupe_instructeur table' do let(:filter) { [{ 'table' => 'groupe_instructeur', 'column' => 'id', 'value' => procedure.defaut_groupe_instructeur.id.to_s }] } - let!(:gi_2) { procedure.groupe_instructeurs.create(label: 'gi2') } - let!(:gi_3) { procedure.groupe_instructeurs.create(label: 'gi3') } + let!(:gi_2) { create(:groupe_instructeur, label: 'gi2', procedure: procedure) } + let!(:gi_3) { create(:groupe_instructeur, label: 'gi3', procedure: procedure) } let!(:kept_dossier) { create(:dossier, :en_construction, procedure: procedure) } let!(:discarded_dossier) { create(:dossier, :en_construction, procedure: procedure, groupe_instructeur: gi_2) } diff --git a/spec/services/procedure_export_service_spec.rb b/spec/services/procedure_export_service_spec.rb index ffad06587..4e2a72956 100644 --- a/spec/services/procedure_export_service_spec.rb +++ b/spec/services/procedure_export_service_spec.rb @@ -119,7 +119,7 @@ describe ProcedureExportService do end context 'with a procedure routee' do - before { procedure.groupe_instructeurs.create(label: '2') } + before { create(:groupe_instructeur, label: '2', procedure: procedure) } let(:routee_headers) { nominal_headers.insert(nominal_headers.index('textarea'), 'Groupe instructeur') }