From ffc45f77cf54a2a61a33c6a9d5d77c09ea971fd8 Mon Sep 17 00:00:00 2001 From: Maikel Linke Date: Mon, 15 May 2023 16:01:15 +1000 Subject: [PATCH] Validate user email syntax on change We probably have invalid entries in the database and we don't want these records to suddenly become invalid. People would not be able to log in. --- app/models/spree/user.rb | 1 + spec/models/spree/user_spec.rb | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/app/models/spree/user.rb b/app/models/spree/user.rb index c980fd7d6c..5415bb623b 100644 --- a/app/models/spree/user.rb +++ b/app/models/spree/user.rb @@ -48,6 +48,7 @@ module Spree after_create :associate_customers, :associate_orders + validates :email, 'valid_email_2/email': true, if: :email_changed? validate :limit_owned_enterprises validates :uid, uniqueness: true, if: lambda { uid.present? } validates_email :uid, if: lambda { uid.present? } diff --git a/spec/models/spree/user_spec.rb b/spec/models/spree/user_spec.rb index 10c36a3131..2a2caedf18 100644 --- a/spec/models/spree/user_spec.rb +++ b/spec/models/spree/user_spec.rb @@ -92,7 +92,7 @@ describe Spree::User do expect(user.errors.messages[:email]).to include "is invalid" end - pending "detects backslashes at the end" do + it "detects backslashes at the end" do user.email = "example@gmail.com\\\\" expect(user).to_not be_valid end