Merge pull request #5943 from tchak/groupe_instructeur_order

Groupe instructeur order
This commit is contained in:
Paul Chavard 2021-03-04 10:53:25 +01:00 committed by GitHub
commit 7c44662f23
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 12 additions and 12 deletions

View file

@ -9,7 +9,7 @@
# procedure_id :bigint not null # procedure_id :bigint not null
# #
class GroupeInstructeur < ApplicationRecord class GroupeInstructeur < ApplicationRecord
DEFAULT_LABEL = 'défaut' DEFAUT_LABEL = 'défaut'
belongs_to :procedure, -> { with_discarded }, inverse_of: :groupe_instructeurs, optional: false belongs_to :procedure, -> { with_discarded }, inverse_of: :groupe_instructeurs, optional: false
has_many :assign_tos, dependent: :destroy has_many :assign_tos, dependent: :destroy
has_many :instructeurs, through: :assign_tos has_many :instructeurs, through: :assign_tos

View file

@ -135,7 +135,7 @@ class Procedure < ApplicationRecord
has_one :refused_mail, class_name: "Mails::RefusedMail", dependent: :destroy has_one :refused_mail, class_name: "Mails::RefusedMail", dependent: :destroy
has_one :without_continuation_mail, class_name: "Mails::WithoutContinuationMail", dependent: :destroy has_one :without_continuation_mail, class_name: "Mails::WithoutContinuationMail", dependent: :destroy
has_one :defaut_groupe_instructeur, -> { order(:id) }, class_name: 'GroupeInstructeur', inverse_of: :procedure has_one :defaut_groupe_instructeur, -> { order(:label) }, class_name: 'GroupeInstructeur', inverse_of: :procedure
has_one_attached :logo has_one_attached :logo
has_one_attached :notice has_one_attached :notice
@ -221,7 +221,7 @@ class Procedure < ApplicationRecord
before_save :update_juridique_required before_save :update_juridique_required
after_initialize :ensure_path_exists after_initialize :ensure_path_exists
before_save :ensure_path_exists before_save :ensure_path_exists
after_create :ensure_default_groupe_instructeur after_create :ensure_defaut_groupe_instructeur
include AASM include AASM
@ -715,9 +715,9 @@ class Procedure < ApplicationRecord
end end
end end
def ensure_default_groupe_instructeur def ensure_defaut_groupe_instructeur
if self.groupe_instructeurs.empty? if self.groupe_instructeurs.empty?
groupe_instructeurs.create(label: GroupeInstructeur::DEFAULT_LABEL) groupe_instructeurs.create(label: GroupeInstructeur::DEFAUT_LABEL)
end end
end end
end end

View file

@ -101,7 +101,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: '2nd groupe') procedure.groupe_instructeurs.create(label: 'deuxième groupe')
end end
end end

View file

@ -529,7 +529,7 @@ describe Instructeur, type: :model do
let(:instructeur_a) { create(:instructeur, groupe_instructeurs: [procedure_a.defaut_groupe_instructeur]) } let(:instructeur_a) { create(:instructeur, groupe_instructeurs: [procedure_a.defaut_groupe_instructeur]) }
before do before do
gi2 = procedure_a.groupe_instructeurs.create(label: '2') gi2 = procedure_a.groupe_instructeurs.create(label: 'gi2')
instructeur_a.groupe_instructeurs << gi2 instructeur_a.groupe_instructeurs << gi2
end end

View file

@ -730,8 +730,8 @@ describe ProcedurePresentation do
context 'for groupe_instructeur table' do context 'for groupe_instructeur table' do
let(:filter) { [{ 'table' => 'groupe_instructeur', 'column' => 'label', 'value' => 'défaut' }] } let(:filter) { [{ 'table' => 'groupe_instructeur', 'column' => 'label', 'value' => 'défaut' }] }
let!(:gi_2) { procedure.groupe_instructeurs.create(label: '2') } let!(:gi_2) { procedure.groupe_instructeurs.create(label: 'gi2') }
let!(:gi_3) { procedure.groupe_instructeurs.create(label: '3') } let!(:gi_3) { procedure.groupe_instructeurs.create(label: 'gi3') }
let!(:kept_dossier) { create(:dossier, procedure: procedure) } let!(:kept_dossier) { create(:dossier, procedure: procedure) }
let!(:discarded_dossier) { create(:dossier, procedure: procedure, groupe_instructeur: gi_2) } let!(:discarded_dossier) { create(:dossier, procedure: procedure, groupe_instructeur: gi_2) }
@ -742,7 +742,7 @@ describe ProcedurePresentation do
let(:filter) do let(:filter) do
[ [
{ 'table' => 'groupe_instructeur', 'column' => 'label', 'value' => 'défaut' }, { 'table' => 'groupe_instructeur', 'column' => 'label', 'value' => 'défaut' },
{ 'table' => 'groupe_instructeur', 'column' => 'label', 'value' => '3' } { 'table' => 'groupe_instructeur', 'column' => 'label', 'value' => 'gi3' }
] ]
end end

View file

@ -466,7 +466,7 @@ describe Procedure do
it 'should have a default groupe instructeur' do it 'should have a default groupe instructeur' do
expect(subject.groupe_instructeurs.size).to eq(1) expect(subject.groupe_instructeurs.size).to eq(1)
expect(subject.groupe_instructeurs.first.label).to eq(GroupeInstructeur::DEFAULT_LABEL) expect(subject.groupe_instructeurs.first.label).to eq(GroupeInstructeur::DEFAUT_LABEL)
expect(subject.groupe_instructeurs.first.instructeurs.size).to eq(0) expect(subject.groupe_instructeurs.first.instructeurs.size).to eq(0)
end end
end end
@ -1011,7 +1011,7 @@ describe Procedure do
let!(:procedure) { create(:procedure) } let!(:procedure) { create(:procedure) }
it { expect(procedure.groupe_instructeurs.count).to eq(1) } it { expect(procedure.groupe_instructeurs.count).to eq(1) }
it { expect(procedure.groupe_instructeurs.first.label).to eq(GroupeInstructeur::DEFAULT_LABEL) } it { expect(procedure.groupe_instructeurs.first.label).to eq(GroupeInstructeur::DEFAUT_LABEL) }
end end
describe '.missing_instructeurs?' do describe '.missing_instructeurs?' do