diff --git a/app/models/avis.rb b/app/models/avis.rb index a3472ebe1..108d24777 100644 --- a/app/models/avis.rb +++ b/app/models/avis.rb @@ -1,11 +1,13 @@ class Avis < ApplicationRecord + include EmailSanitizableConcern + belongs_to :dossier, touch: true belongs_to :gestionnaire belongs_to :claimant, class_name: 'Gestionnaire' validates :email, format: { with: Devise.email_regexp, message: "n'est pas valide" }, allow_nil: true - before_save :clean_email + before_validation -> { sanitize_email(:email) } before_create :try_to_assign_gestionnaire after_create :notify_gestionnaire @@ -31,12 +33,6 @@ class Avis < ApplicationRecord private - def clean_email - if email.present? - self.email = email.downcase.strip - end - end - def notify_gestionnaire AvisMailer.avis_invitation(self).deliver_now end diff --git a/spec/models/avis_spec.rb b/spec/models/avis_spec.rb index 3ca680440..0cce41b9c 100644 --- a/spec/models/avis_spec.rb +++ b/spec/models/avis_spec.rb @@ -118,7 +118,7 @@ RSpec.describe Avis, type: :model do end end - describe "#clean_email" do + describe "email sanitization" do subject { Avis.create(claimant: claimant, email: email, dossier: create(:dossier), gestionnaire: create(:gestionnaire)) } context "when there is no email" do