diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2022-08-24 19:00:55 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-24 19:00:55 +0200 |
commit | 0412a4d03e3e075b8b4090774ebe5db4f95412de (patch) | |
tree | d98404dbf6d700c564327ac25017f01c6d8675b1 /spec/models | |
parent | d83faa1a8902c91a5dbd0bf3d9740e3e19c1d623 (diff) |
Change e-mail domain blocks to match subdomains of blocked domains (#18979)
Diffstat (limited to 'spec/models')
-rw-r--r-- | spec/models/email_domain_block_spec.rb | 27 |
1 files changed, 20 insertions, 7 deletions
diff --git a/spec/models/email_domain_block_spec.rb b/spec/models/email_domain_block_spec.rb index 567a32c32..e23116888 100644 --- a/spec/models/email_domain_block_spec.rb +++ b/spec/models/email_domain_block_spec.rb @@ -12,16 +12,29 @@ RSpec.describe EmailDomainBlock, type: :model do let(:input) { nil } context 'given an e-mail address' do - let(:input) { 'nyarn@example.com' } + let(:input) { "foo@#{domain}" } - it 'returns true if the domain is blocked' do - Fabricate(:email_domain_block, domain: 'example.com') - expect(EmailDomainBlock.block?(input)).to be true + context do + let(:domain) { 'example.com' } + + it 'returns true if the domain is blocked' do + Fabricate(:email_domain_block, domain: 'example.com') + expect(EmailDomainBlock.block?(input)).to be true + end + + it 'returns false if the domain is not blocked' do + Fabricate(:email_domain_block, domain: 'other-example.com') + expect(EmailDomainBlock.block?(input)).to be false + end end - it 'returns false if the domain is not blocked' do - Fabricate(:email_domain_block, domain: 'other-example.com') - expect(EmailDomainBlock.block?(input)).to be false + context do + let(:domain) { 'mail.example.com' } + + it 'returns true if it is a subdomain of a blocked domain' do + Fabricate(:email_domain_block, domain: 'example.com') + expect(described_class.block?(input)).to be true + end end end |