fix(tests): create groupe instructeurs with factory
This commit is contained in:
parent
16676a3d3f
commit
a2c636d784
11 changed files with 32 additions and 30 deletions
|
@ -3,13 +3,13 @@ describe Administrateurs::GroupeInstructeursController, type: :controller do
|
||||||
include Logic
|
include Logic
|
||||||
|
|
||||||
let(:admin) { create(:administrateur) }
|
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_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(:procedure2) { create(:procedure, :routee, :published) }
|
||||||
let!(:gi_2_2) { procedure2.groupe_instructeurs.create(label: 'groupe instructeur 2 2') }
|
let!(:gi_2_2) { procedure2.defaut_groupe_instructeur.other_groupe_instructeurs.first }
|
||||||
|
|
||||||
before { sign_in(admin.user) }
|
before { sign_in(admin.user) }
|
||||||
|
|
||||||
|
@ -24,11 +24,10 @@ describe Administrateurs::GroupeInstructeursController, type: :controller do
|
||||||
expect(response).to have_http_status(:ok)
|
expect(response).to have_http_status(:ok)
|
||||||
expect(response.body).to include(gi_1_1.label)
|
expect(response.body).to include(gi_1_1.label)
|
||||||
expect(response.body).to include(gi_1_2.label)
|
expect(response.body).to include(gi_1_2.label)
|
||||||
expect(response.body).not_to include(gi_2_2.label)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'when there is a search' do
|
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
|
it do
|
||||||
expect(assigns(:groupes_instructeurs)).to match_array([gi_1_2])
|
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 'with many groups' do
|
||||||
context 'of a group that can be deleted' do
|
context 'of a group that can be deleted' do
|
||||||
before { delete_group gi_1_2 }
|
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.groupe_instructeurs.count).to eq(1) }
|
||||||
it { expect(procedure.reload.routing_enabled?).to eq(false) }
|
it { expect(procedure.reload.routing_enabled?).to eq(false) }
|
||||||
it { expect(response).to redirect_to(admin_procedure_groupe_instructeurs_path(procedure)) }
|
it { expect(response).to redirect_to(admin_procedure_groupe_instructeurs_path(procedure)) }
|
||||||
|
@ -168,7 +167,7 @@ describe Administrateurs::GroupeInstructeursController, type: :controller do
|
||||||
end
|
end
|
||||||
|
|
||||||
describe '#reaffecter_dossiers' do
|
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
|
before do
|
||||||
get :reaffecter_dossiers,
|
get :reaffecter_dossiers,
|
||||||
|
@ -189,7 +188,7 @@ describe Administrateurs::GroupeInstructeursController, type: :controller do
|
||||||
end
|
end
|
||||||
|
|
||||||
describe '#reaffecter' do
|
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!(:dossier12) { create(:dossier, :en_construction, :with_individual, procedure: procedure, groupe_instructeur: gi_1_1) }
|
||||||
let!(:instructeur) { create(:instructeur) }
|
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) }
|
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
|
end
|
||||||
|
|
||||||
context 'when the name is already taken' do
|
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 }
|
let(:new_name) { gi_1_2.label }
|
||||||
|
|
||||||
it do
|
it do
|
||||||
|
@ -269,7 +268,7 @@ describe Administrateurs::GroupeInstructeursController, type: :controller do
|
||||||
let(:closed_value) { '0' }
|
let(:closed_value) { '0' }
|
||||||
let!(:procedure_non_routee) { create(:procedure, :published, :for_individual, administrateurs: [admin]) }
|
let!(:procedure_non_routee) { create(:procedure, :published, :for_individual, administrateurs: [admin]) }
|
||||||
let!(:gi_1_1) { procedure_non_routee.defaut_groupe_instructeur }
|
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
|
before do
|
||||||
patch :update_state,
|
patch :update_state,
|
||||||
|
@ -299,7 +298,7 @@ describe Administrateurs::GroupeInstructeursController, type: :controller do
|
||||||
it do
|
it do
|
||||||
expect(subject).to redirect_to admin_procedure_groupe_instructeur_path(procedure_non_routee, gi_1_2)
|
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(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
|
end
|
||||||
end
|
end
|
||||||
|
@ -524,7 +523,7 @@ describe Administrateurs::GroupeInstructeursController, type: :controller do
|
||||||
subject
|
subject
|
||||||
end
|
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 be_present }
|
||||||
it { expect(flash.notice).to eq("La liste des instructeurs a été importée avec succès") }
|
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 }
|
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
|
it 'generates a CSV file containing the instructeurs and groups' do
|
||||||
expect(subject.status).to eq(200)
|
expect(subject.status).to eq(200)
|
||||||
expect(subject.stream.body.split("\n").size).to eq(3)
|
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_1.email)
|
||||||
expect(subject.stream.body).to include(instructeur_assigned_2.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")
|
expect(subject.header["Content-Disposition"]).to include("#{procedure.id}-groupe-instructeurs-#{Date.today}.csv")
|
||||||
|
|
|
@ -5,7 +5,7 @@ describe Administrateurs::RoutingController, type: :controller do
|
||||||
|
|
||||||
describe '#update targeted champ' 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(: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(:drop_down_tdc) { procedure.draft_revision.types_de_champ.first }
|
||||||
let(:params) do
|
let(:params) do
|
||||||
{
|
{
|
||||||
|
@ -52,7 +52,7 @@ describe Administrateurs::RoutingController, type: :controller do
|
||||||
|
|
||||||
describe "#update_defaut_groupe_instructeur" do
|
describe "#update_defaut_groupe_instructeur" do
|
||||||
let(:procedure) { create(:procedure) }
|
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
|
let(:params) do
|
||||||
{
|
{
|
||||||
procedure_id: procedure.id,
|
procedure_id: procedure.id,
|
||||||
|
|
|
@ -1193,7 +1193,8 @@ describe API::V2::GraphqlController do
|
||||||
end
|
end
|
||||||
|
|
||||||
context "should changer groupe instructeur" do
|
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
|
let(:query) do
|
||||||
"mutation {
|
"mutation {
|
||||||
dossierChangerGroupeInstructeur(input: {
|
dossierChangerGroupeInstructeur(input: {
|
||||||
|
|
|
@ -4,10 +4,10 @@ describe Instructeurs::GroupeInstructeursController, type: :controller do
|
||||||
let(:instructeur) { create(:instructeur) }
|
let(:instructeur) { create(:instructeur) }
|
||||||
let(:procedure) { create(:procedure, :published) }
|
let(:procedure) { create(:procedure, :published) }
|
||||||
let!(:gi_1_1) { procedure.defaut_groupe_instructeur }
|
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(: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
|
before do
|
||||||
gi_1_2.instructeurs << instructeur
|
gi_1_2.instructeurs << instructeur
|
||||||
|
|
|
@ -241,8 +241,9 @@ describe Instructeurs::ProceduresController, type: :controller do
|
||||||
describe "#show" do
|
describe "#show" do
|
||||||
let(:instructeur) { create(:instructeur) }
|
let(:instructeur) { create(:instructeur) }
|
||||||
let!(:procedure) { create(:procedure, :expirable, instructeurs: [instructeur]) }
|
let!(:procedure) { create(:procedure, :expirable, instructeurs: [instructeur]) }
|
||||||
let!(:gi_2) { procedure.groupe_instructeurs.create(label: '2') }
|
let!(:gi_2) { create(:groupe_instructeur, label: '2', procedure: procedure) }
|
||||||
let!(:gi_3) { procedure.groupe_instructeurs.create(label: '3') }
|
let!(:gi_3) { create(:groupe_instructeur, label: '3', procedure: procedure) }
|
||||||
|
|
||||||
let(:statut) { nil }
|
let(:statut) { nil }
|
||||||
|
|
||||||
subject do
|
subject do
|
||||||
|
|
|
@ -129,7 +129,7 @@ FactoryBot.define do
|
||||||
|
|
||||||
trait :routee do
|
trait :routee do
|
||||||
after(:create) do |procedure, _evaluator|
|
after(:create) do |procedure, _evaluator|
|
||||||
procedure.groupe_instructeurs.create(label: 'deuxième groupe')
|
create(:groupe_instructeur, label: 'deuxième groupe', procedure: procedure)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -78,8 +78,9 @@ describe TagsSubstitutionConcern, type: :model do
|
||||||
let!(:dossier) { create(:dossier, procedure: procedure, individual: individual, etablissement: etablissement, state: state) }
|
let!(:dossier) { create(:dossier, procedure: procedure, individual: individual, etablissement: etablissement, state: state) }
|
||||||
context 'and the dossier has a groupe instructeur' do
|
context 'and the dossier has a groupe instructeur' do
|
||||||
label = 'Ville de Bordeaux'
|
label = 'Ville de Bordeaux'
|
||||||
|
let(:gi) { create(:groupe_instructeur, label: label, procedure: procedure) }
|
||||||
|
|
||||||
before do
|
before do
|
||||||
gi = procedure.groupe_instructeurs.create(label: label)
|
|
||||||
gi.dossiers << dossier
|
gi.dossiers << dossier
|
||||||
dossier.update(groupe_instructeur: gi)
|
dossier.update(groupe_instructeur: gi)
|
||||||
dossier.reload
|
dossier.reload
|
||||||
|
|
|
@ -573,8 +573,8 @@ describe Instructeur, type: :model do
|
||||||
let(:instructeur_3) { create(:instructeur) }
|
let(:instructeur_3) { create(:instructeur) }
|
||||||
let(:procedure) { create(:procedure, instructeurs: [instructeur_2, instructeur_3], procedure_expires_when_termine_enabled: true) }
|
let(:procedure) { create(:procedure, instructeurs: [instructeur_2, instructeur_3], procedure_expires_when_termine_enabled: true) }
|
||||||
let(:gi_1) { procedure.defaut_groupe_instructeur }
|
let(:gi_1) { procedure.defaut_groupe_instructeur }
|
||||||
let(:gi_2) { procedure.groupe_instructeurs.create(label: '2') }
|
let(:gi_2) { create(:groupe_instructeur, label: '2', procedure: procedure) }
|
||||||
let(:gi_3) { procedure.groupe_instructeurs.create(label: '3') }
|
let(:gi_3) { create(:groupe_instructeur, label: '3', procedure: procedure) }
|
||||||
|
|
||||||
subject do
|
subject do
|
||||||
instructeur_2.dossiers_count_summary([gi_1.id, gi_2.id])
|
instructeur_2.dossiers_count_summary([gi_1.id, gi_2.id])
|
||||||
|
|
|
@ -62,8 +62,8 @@ describe ProcedureOverview, type: :model do
|
||||||
end
|
end
|
||||||
|
|
||||||
describe 'with a procedure routee' do
|
describe 'with a procedure routee' do
|
||||||
let!(:gi_2) { procedure.groupe_instructeurs.create(label: 'groupe instructeur 2') }
|
let!(:gi_2) { create(:groupe_instructeur, label: 'groupe instructeur 2', procedure: procedure) }
|
||||||
let!(:gi_3) { procedure.groupe_instructeurs.create(label: 'groupe instructeur 3') }
|
let!(:gi_3) { create(:groupe_instructeur, label: 'groupe instructeur 3', procedure: procedure) }
|
||||||
|
|
||||||
def create_dossier_in_group(g)
|
def create_dossier_in_group(g)
|
||||||
create(:dossier, procedure: procedure, created_at: monday, state: Dossier.states.fetch(:en_instruction), groupe_instructeur: g)
|
create(:dossier, procedure: procedure, created_at: monday, state: Dossier.states.fetch(:en_instruction), groupe_instructeur: g)
|
||||||
|
|
|
@ -784,8 +784,8 @@ describe ProcedurePresentation do
|
||||||
context 'for groupe_instructeur table' do
|
context 'for groupe_instructeur table' do
|
||||||
let(:filter) { [{ 'table' => 'groupe_instructeur', 'column' => 'id', 'value' => procedure.defaut_groupe_instructeur.id.to_s }] }
|
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_2) { create(:groupe_instructeur, label: 'gi2', procedure: procedure) }
|
||||||
let!(:gi_3) { procedure.groupe_instructeurs.create(label: 'gi3') }
|
let!(:gi_3) { create(:groupe_instructeur, label: 'gi3', procedure: procedure) }
|
||||||
|
|
||||||
let!(:kept_dossier) { create(:dossier, :en_construction, procedure: procedure) }
|
let!(:kept_dossier) { create(:dossier, :en_construction, procedure: procedure) }
|
||||||
let!(:discarded_dossier) { create(:dossier, :en_construction, procedure: procedure, groupe_instructeur: gi_2) }
|
let!(:discarded_dossier) { create(:dossier, :en_construction, procedure: procedure, groupe_instructeur: gi_2) }
|
||||||
|
|
|
@ -119,7 +119,7 @@ describe ProcedureExportService do
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'with a procedure routee' do
|
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') }
|
let(:routee_headers) { nominal_headers.insert(nominal_headers.index('textarea'), 'Groupe instructeur') }
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue