commit
378a7dd07d
5 changed files with 92 additions and 5 deletions
|
@ -4,4 +4,5 @@
|
||||||
- if defined?(service) && service && service.nom.present?
|
- if defined?(service) && service && service.nom.present?
|
||||||
= service.nom
|
= service.nom
|
||||||
- else
|
- else
|
||||||
L’équipe demarches-simplifiees.fr
|
-# The WORD JOINER unicode entity prevents email clients from auto-linking the signature
|
||||||
|
L’équipe demarches-simplifiees⁠.fr
|
||||||
|
|
|
@ -1,7 +1,11 @@
|
||||||
namespace :after_party do
|
namespace :after_party do
|
||||||
desc 'Deployment task: create_default_groupe_instructeur'
|
desc 'Deployment task: create_default_groupe_instructeur'
|
||||||
task create_default_groupe_instructeur: :environment do
|
task create_default_groupe_instructeur: :environment do
|
||||||
Procedure.find_each do |procedure|
|
Procedure
|
||||||
|
.unscoped
|
||||||
|
.left_outer_joins(:groupe_instructeurs)
|
||||||
|
.where('groupe_instructeurs.id is null')
|
||||||
|
.find_each do |procedure|
|
||||||
procedure.groupe_instructeurs.create(label: GroupeInstructeur::DEFAULT_LABEL)
|
procedure.groupe_instructeurs.create(label: GroupeInstructeur::DEFAULT_LABEL)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -2,9 +2,10 @@ namespace :after_party do
|
||||||
desc 'Deployment task: link_dossier_and_groupe_instructeur'
|
desc 'Deployment task: link_dossier_and_groupe_instructeur'
|
||||||
task link_dossier_and_groupe_instructeur: :environment do
|
task link_dossier_and_groupe_instructeur: :environment do
|
||||||
sql = <<~SQL
|
sql = <<~SQL
|
||||||
UPDATE dossiers SET groupe_instructeur_id = groupe_instructeurs.id
|
UPDATE dossiers AS d1 SET groupe_instructeur_id = g.id
|
||||||
FROM dossiers AS d1 INNER JOIN groupe_instructeurs ON groupe_instructeurs.procedure_id = d1.procedure_id
|
FROM groupe_instructeurs AS g
|
||||||
WHERE dossiers.id = d1.id;
|
WHERE g.procedure_id = d1.procedure_id
|
||||||
|
and d1.groupe_instructeur_id is null;
|
||||||
SQL
|
SQL
|
||||||
|
|
||||||
ActiveRecord::Base.connection.execute(sql)
|
ActiveRecord::Base.connection.execute(sql)
|
||||||
|
|
|
@ -0,0 +1,45 @@
|
||||||
|
describe '20190819142551_create_default_groupe_instructeur.rake' do
|
||||||
|
let(:rake_task) { Rake::Task['after_party:create_default_groupe_instructeur'] }
|
||||||
|
|
||||||
|
subject { rake_task.invoke }
|
||||||
|
after { rake_task.reenable }
|
||||||
|
|
||||||
|
context 'with a procedure without gi' do
|
||||||
|
let!(:procedure_without_gi) { create(:procedure) }
|
||||||
|
|
||||||
|
before do
|
||||||
|
procedure_without_gi.groupe_instructeurs.destroy_all
|
||||||
|
end
|
||||||
|
|
||||||
|
it do
|
||||||
|
expect(procedure_without_gi.groupe_instructeurs).to be_empty
|
||||||
|
subject
|
||||||
|
expect(procedure_without_gi.reload.groupe_instructeurs.pluck(:label)).to eq(['défaut'])
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'with a procedure hidden without gi' do
|
||||||
|
let!(:procedure_hidden_without_gi) { create(:procedure, :hidden) }
|
||||||
|
|
||||||
|
before do
|
||||||
|
procedure_hidden_without_gi.groupe_instructeurs.destroy_all
|
||||||
|
end
|
||||||
|
|
||||||
|
it do
|
||||||
|
expect(procedure_hidden_without_gi.groupe_instructeurs).to be_empty
|
||||||
|
subject
|
||||||
|
expect(procedure_hidden_without_gi.reload.groupe_instructeurs.pluck(:label)).to eq(['défaut'])
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'with a procedure with a gi' do
|
||||||
|
let!(:procedure_with_gi) { create(:procedure) }
|
||||||
|
|
||||||
|
it do
|
||||||
|
gi = procedure_with_gi.groupe_instructeurs.first
|
||||||
|
expect(gi).to be_present
|
||||||
|
subject
|
||||||
|
expect(procedure_with_gi.reload.groupe_instructeurs).to eq([gi])
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,36 @@
|
||||||
|
describe '20190819145528_link_assign_and_groupe_instructeur.rake' do
|
||||||
|
let(:rake_task) { Rake::Task['after_party:link_assign_and_groupe_instructeur'] }
|
||||||
|
|
||||||
|
subject { rake_task.invoke }
|
||||||
|
after { rake_task.reenable }
|
||||||
|
|
||||||
|
context 'with an assign_to without groupe_instructeur' do
|
||||||
|
let!(:procedure) { create(:procedure) }
|
||||||
|
let!(:instructeur) { create(:instructeur) }
|
||||||
|
let!(:assign_to) do
|
||||||
|
at = AssignTo.create!(instructeur: instructeur)
|
||||||
|
at.update_column(:procedure_id, procedure.id)
|
||||||
|
at
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'assigns its defaut groupe instructeur' do
|
||||||
|
expect(assign_to.groupe_instructeur).to be_nil
|
||||||
|
subject
|
||||||
|
expect(assign_to.reload.groupe_instructeur).to eq(procedure.defaut_groupe_instructeur)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'with an assign_to with groupe_instructeur' do
|
||||||
|
let!(:procedure) { create(:procedure) }
|
||||||
|
let!(:instructeur) { create(:instructeur, groupe_instructeurs: [procedure.defaut_groupe_instructeur]) }
|
||||||
|
let!(:assign_to) { instructeur.assign_to.first }
|
||||||
|
|
||||||
|
it 'assigns its defaut groupe instructeur' do
|
||||||
|
expect(assign_to.groupe_instructeur).to eq(procedure.defaut_groupe_instructeur)
|
||||||
|
expect(procedure.reload.defaut_groupe_instructeur.assign_tos.count).to eq(1)
|
||||||
|
subject
|
||||||
|
expect(instructeur.assign_to).to eq([assign_to])
|
||||||
|
expect(procedure.reload.defaut_groupe_instructeur.assign_tos.count).to eq(1)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in a new issue