Add User#email_domain method to extract domain from email address (#35159)
				
					
				
			This commit is contained in:
		@@ -166,6 +166,34 @@ RSpec.describe User do
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  describe '#email_domain' do
 | 
			
		||||
    subject { described_class.new(email: email).email_domain }
 | 
			
		||||
 | 
			
		||||
    context 'when value is nil' do
 | 
			
		||||
      let(:email) { nil }
 | 
			
		||||
 | 
			
		||||
      it { is_expected.to be_nil }
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    context 'when value is blank' do
 | 
			
		||||
      let(:email) { '' }
 | 
			
		||||
 | 
			
		||||
      it { is_expected.to be_nil }
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    context 'when value has valid domain' do
 | 
			
		||||
      let(:email) { 'user@host.example' }
 | 
			
		||||
 | 
			
		||||
      it { is_expected.to eq('host.example') }
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    context 'when value has no split' do
 | 
			
		||||
      let(:email) { 'user$host.example' }
 | 
			
		||||
 | 
			
		||||
      it { is_expected.to be_nil }
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  describe '#update_sign_in!' do
 | 
			
		||||
    context 'with an existing user' do
 | 
			
		||||
      let!(:user) { Fabricate :user, last_sign_in_at: 10.days.ago, current_sign_in_at: 1.hour.ago, sign_in_count: 123 }
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user