Fix add instructeur with empty mail

As select2 does not handle required attribute, we can only add server side logic
This commit is contained in:
simon lehericey 2019-11-27 10:06:07 +01:00
parent 944338206c
commit 6657459f9c
2 changed files with 8 additions and 1 deletions

View file

@ -49,7 +49,8 @@ module NewAdministrateur
end end
def add_instructeur def add_instructeur
emails = params['emails'].map(&:strip).map(&:downcase) emails = params['emails'].presence || []
emails = emails.map(&:strip).map(&:downcase)
correct_emails, bad_emails = emails correct_emails, bad_emails = emails
.partition { |email| URI::MailTo::EMAIL_REGEXP.match?(email) } .partition { |email| URI::MailTo::EMAIL_REGEXP.match?(email) }

View file

@ -117,6 +117,12 @@ describe NewAdministrateur::GroupeInstructeursController, type: :controller do
it { expect(flash.alert).to be_present } it { expect(flash.alert).to be_present }
it { expect(response).to redirect_to(procedure_groupe_instructeur_path(procedure, procedure.defaut_groupe_instructeur)) } it { expect(response).to redirect_to(procedure_groupe_instructeur_path(procedure, procedure.defaut_groupe_instructeur)) }
end end
context 'of an empty string' do
let(:new_instructeur_emails) { '' }
it { expect(response).to redirect_to(procedure_groupe_instructeur_path(procedure, procedure.defaut_groupe_instructeur)) }
end
end end
describe '#remove_instructeur' do describe '#remove_instructeur' do