diff --git a/app/validators/mon_avis_embed_validator.rb b/app/validators/mon_avis_embed_validator.rb index 1f0353945..4e4483988 100644 --- a/app/validators/mon_avis_embed_validator.rb +++ b/app/validators/mon_avis_embed_validator.rb @@ -1,7 +1,7 @@ class MonAvisEmbedValidator < ActiveModel::Validator def validate(record) # We need to ensure the embed code is not any random string in order to avoid injections - r = Regexp.new('\s*Je donne mon avis\s*', Regexp::MULTILINE) + r = Regexp.new('\s*Je donne mon avis\s*', Regexp::MULTILINE) if record.monavis_embed.present? && !r.match?(record.monavis_embed) record.errors[:base] << "Le code fourni ne correspond pas au format des codes MonAvis reconnus par la plateforme." end diff --git a/spec/models/procedure_spec.rb b/spec/models/procedure_spec.rb index a50200f29..6789080ed 100644 --- a/spec/models/procedure_spec.rb +++ b/spec/models/procedure_spec.rb @@ -268,6 +268,16 @@ describe Procedure do let(:procedure) { build(:procedure, monavis_embed: monavis_issue_phillipe) } it { expect(procedure.valid?).to eq(true) } end + + context 'Monavis embed code without title allowed' do + monavis_issue_bouchra = <<-MSG + + Je donne mon avis + + MSG + let(:procedure) { build(:procedure, monavis_embed: monavis_issue_bouchra) } + it { expect(procedure.valid?).to eq(true) } + end end shared_examples 'duree de conservation' do