inject groupe_instructeurs when possible
This commit is contained in:
parent
e2bc45dc4a
commit
1277500069
2 changed files with 28 additions and 1 deletions
|
@ -83,7 +83,12 @@ module ColumnsConcern
|
|||
|
||||
private
|
||||
|
||||
def groupe_instructeurs_id_column = Columns::DossierColumn.new(procedure_id: id, table: 'groupe_instructeur', column: 'id', type: :enum)
|
||||
def groupe_instructeurs_id_column
|
||||
groupes = Current.user&.instructeur&.groupe_instructeurs || []
|
||||
options_for_select = groupes.filter_map { [_1.label, _1.id] if _1.procedure_id == id }
|
||||
|
||||
Columns::DossierColumn.new(procedure_id: id, table: 'groupe_instructeur', column: 'id', type: :enum, options_for_select:)
|
||||
end
|
||||
|
||||
def followers_instructeurs_email_column = Columns::DossierColumn.new(procedure_id: id, table: 'followers_instructeurs', column: 'email')
|
||||
|
||||
|
|
|
@ -133,6 +133,28 @@ describe ColumnsConcern do
|
|||
|
||||
it { is_expected.to include(decision_on, decision_before_field) }
|
||||
end
|
||||
|
||||
context 'when the procedure has several groupe instructeur' do
|
||||
let(:procedure) { create(:procedure, :routee) }
|
||||
let(:groupe_1) { procedure.groupe_instructeurs.first }
|
||||
let(:groupe_2) { procedure.groupe_instructeurs.last }
|
||||
let(:groupe_instructeur_column) { procedure.find_column(label: "Groupe instructeur") }
|
||||
|
||||
context 'and no instructeur is available in current' do
|
||||
it { expect(groupe_instructeur_column.options_for_select).to eq([]) }
|
||||
end
|
||||
|
||||
context 'and instructeur is available in current' do
|
||||
let(:instructeur) { create(:instructeur) }
|
||||
|
||||
before do
|
||||
procedure.groupe_instructeurs.each { _1.add(instructeur) }
|
||||
allow(Current).to receive(:user).and_return(instructeur.user)
|
||||
end
|
||||
|
||||
it { expect(groupe_instructeur_column.options_for_select).to match_array([groupe_1, groupe_2].map { [_1.label, _1.id] }) }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe 'export' do
|
||||
|
|
Loading…
Reference in a new issue