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