mirror of
https://github.com/internetee/registry.git
synced 2025-06-09 06:04:56 +02:00
Merge branch 'convert-specs-to-tests' into remove-delegations
This commit is contained in:
commit
1b78b5e4c6
4 changed files with 102 additions and 253 deletions
|
@ -1,43 +0,0 @@
|
|||
require 'rails_helper'
|
||||
|
||||
RSpec.describe RegistrantChangeConfirmEmailJob do
|
||||
describe '#run' do
|
||||
let(:domain) { instance_double(Domain) }
|
||||
let(:message) { instance_double(ActionMailer::MessageDelivery) }
|
||||
|
||||
before :example do
|
||||
expect(Domain).to receive(:find).and_return(domain)
|
||||
expect(Registrant).to receive(:find).and_return('new registrant')
|
||||
allow(domain).to receive_messages(
|
||||
id: 1,
|
||||
name: 'test.com',
|
||||
registrant_email: 'registrant@test.com',
|
||||
registrar: 'registrar',
|
||||
registrant: 'registrant')
|
||||
end
|
||||
|
||||
after :example do
|
||||
domain_id = 1
|
||||
new_registrant_id = 1
|
||||
described_class.enqueue(domain_id, new_registrant_id)
|
||||
end
|
||||
|
||||
it 'creates log record' do
|
||||
log_message = 'Send RegistrantChangeMailer#confirm email for domain test.com (#1) to registrant@test.com'
|
||||
|
||||
allow(RegistrantChangeMailer).to receive(:confirm).and_return(message)
|
||||
allow(message).to receive(:deliver_now)
|
||||
|
||||
expect(Rails.logger).to receive(:info).with(log_message)
|
||||
end
|
||||
|
||||
it 'sends email' do
|
||||
expect(RegistrantChangeMailer).to receive(:confirm).with(domain: domain,
|
||||
registrar: 'registrar',
|
||||
current_registrant: 'registrant',
|
||||
new_registrant: 'new registrant')
|
||||
.and_return(message)
|
||||
expect(message).to receive(:deliver_now)
|
||||
end
|
||||
end
|
||||
end
|
|
@ -1,210 +0,0 @@
|
|||
require 'rails_helper'
|
||||
|
||||
RSpec.describe RegistrantChangeMailer do
|
||||
describe '#confirm' do
|
||||
let(:domain) { instance_spy(Domain, name: 'test.com') }
|
||||
let(:registrar) { instance_spy(Registrar) }
|
||||
let(:current_registrant) { instance_spy(Registrant, email: 'registrant@test.com') }
|
||||
let(:new_registrant) { instance_spy(Registrant) }
|
||||
|
||||
let(:domain_presenter) { instance_spy(DomainPresenter) }
|
||||
let(:registrar_presenter) { instance_spy(RegistrarPresenter) }
|
||||
let(:new_registrant_presenter) { instance_spy(RegistrantPresenter) }
|
||||
|
||||
subject(:message) { described_class.confirm(domain: domain,
|
||||
registrar: registrar,
|
||||
current_registrant: current_registrant,
|
||||
new_registrant: new_registrant)
|
||||
}
|
||||
|
||||
before :example do
|
||||
expect(DomainPresenter).to receive(:new).and_return(domain_presenter)
|
||||
expect(RegistrarPresenter).to receive(:new).and_return(registrar_presenter)
|
||||
expect(RegistrantPresenter).to receive(:new).and_return(new_registrant_presenter)
|
||||
end
|
||||
|
||||
it 'has sender' do
|
||||
expect(message.from).to eq(['noreply@internet.ee'])
|
||||
end
|
||||
|
||||
it 'has current registrant\s email as a recipient' do
|
||||
expect(message.to).to match_array(['registrant@test.com'])
|
||||
end
|
||||
|
||||
it 'has subject' do
|
||||
subject = 'Kinnitustaotlus domeeni test.com registreerija vahetuseks' \
|
||||
' / Application for approval for registrant change of test.com'
|
||||
|
||||
expect(message.subject).to eq(subject)
|
||||
end
|
||||
|
||||
it 'has confirmation url' do
|
||||
allow(domain).to receive(:id).and_return(1)
|
||||
expect(domain).to receive(:registrant_verification_token).and_return('test')
|
||||
url = registrant_domain_update_confirm_url(domain, token: 'test')
|
||||
expect(message.body.parts.first.decoded).to include(url)
|
||||
end
|
||||
|
||||
it 'sends message' do
|
||||
expect { message.deliver_now }.to change { ActionMailer::Base.deliveries.count }.by(1)
|
||||
end
|
||||
end
|
||||
|
||||
describe '#notice' do
|
||||
let(:domain) { instance_spy(Domain, name: 'test.com') }
|
||||
let(:registrar) { instance_spy(Registrar) }
|
||||
let(:current_registrant) { instance_spy(Registrant) }
|
||||
let(:new_registrant) { instance_spy(Registrant, email: 'registrant@test.com') }
|
||||
|
||||
let(:domain_presenter) { instance_spy(DomainPresenter) }
|
||||
let(:registrar_presenter) { instance_spy(RegistrarPresenter) }
|
||||
let(:current_registrant_presenter) { instance_spy(RegistrantPresenter) }
|
||||
let(:new_registrant_presenter) { instance_spy(RegistrantPresenter) }
|
||||
|
||||
subject(:message) { described_class.notice(domain: domain,
|
||||
registrar: registrar,
|
||||
current_registrant: current_registrant,
|
||||
new_registrant: new_registrant)
|
||||
}
|
||||
|
||||
before :example do
|
||||
expect(DomainPresenter).to receive(:new).and_return(domain_presenter)
|
||||
expect(RegistrarPresenter).to receive(:new).and_return(registrar_presenter)
|
||||
expect(RegistrantPresenter).to receive(:new).with(registrant: current_registrant, view: anything).and_return(current_registrant_presenter)
|
||||
expect(RegistrantPresenter).to receive(:new).with(registrant: new_registrant, view: anything).and_return(new_registrant_presenter)
|
||||
end
|
||||
|
||||
it 'has sender' do
|
||||
expect(message.from).to eq(['noreply@internet.ee'])
|
||||
end
|
||||
|
||||
it 'has new registrant\s email as a recipient' do
|
||||
expect(message.to).to match_array(['registrant@test.com'])
|
||||
end
|
||||
|
||||
it 'has subject' do
|
||||
subject = 'Domeeni test.com registreerija vahetus protseduur on algatatud' \
|
||||
' / test.com registrant change'
|
||||
|
||||
expect(message.subject).to eq(subject)
|
||||
end
|
||||
|
||||
it 'sends message' do
|
||||
expect { message.deliver_now }.to change { ActionMailer::Base.deliveries.count }.by(1)
|
||||
end
|
||||
end
|
||||
|
||||
describe '#confirmed' do
|
||||
let(:domain) { instance_spy(Domain, registrant_email: 'new.registrant@test.com') }
|
||||
let(:old_registrant) { instance_spy(Registrant, email: 'old.registrant@test.com') }
|
||||
let(:registrant_presenter) { instance_spy(RegistrantPresenter) }
|
||||
let(:domain_presenter) { instance_spy(DomainPresenter) }
|
||||
subject(:message) { described_class.confirmed(domain: domain, old_registrant: old_registrant) }
|
||||
|
||||
before :example do
|
||||
allow(RegistrantPresenter).to receive(:new).and_return(registrant_presenter)
|
||||
allow(DomainPresenter).to receive(:new).and_return(domain_presenter)
|
||||
end
|
||||
|
||||
it 'has sender' do
|
||||
expect(message.from).to eq(['noreply@internet.ee'])
|
||||
end
|
||||
|
||||
it 'has new registrant email as a recipient' do
|
||||
expect(message.to).to include('new.registrant@test.com')
|
||||
end
|
||||
|
||||
it 'has old registrant email as a recipient' do
|
||||
expect(message.to).to include('old.registrant@test.com')
|
||||
end
|
||||
|
||||
it 'has subject' do
|
||||
allow(domain).to receive(:name).and_return('test.com')
|
||||
expect(message.subject).to eq(t('registrant_change_mailer.confirmed.subject', domain_name: 'test.com'))
|
||||
end
|
||||
|
||||
it 'sends message' do
|
||||
expect { message.deliver_now }.to change { ActionMailer::Base.deliveries.count }.by(1)
|
||||
end
|
||||
end
|
||||
|
||||
describe '#rejected' do
|
||||
let(:domain) { instance_spy(Domain, name: 'test.com', new_registrant_email: 'new.registrant@test.com') }
|
||||
let(:registrar) { instance_spy(Registrar) }
|
||||
let(:registrant) { instance_spy(Registrant) }
|
||||
|
||||
let(:domain_presenter) { instance_spy(DomainPresenter) }
|
||||
let(:registrar_presenter) { instance_spy(RegistrarPresenter) }
|
||||
let(:registrant_presenter) { instance_spy(RegistrantPresenter) }
|
||||
|
||||
subject(:message) { described_class.rejected(domain: domain,
|
||||
registrar: registrar,
|
||||
registrant: registrant)
|
||||
}
|
||||
|
||||
before :example do
|
||||
expect(DomainPresenter).to receive(:new).and_return(domain_presenter)
|
||||
expect(RegistrarPresenter).to receive(:new).and_return(registrar_presenter)
|
||||
expect(RegistrantPresenter).to receive(:new).and_return(registrant_presenter)
|
||||
end
|
||||
|
||||
it 'has sender' do
|
||||
expect(message.from).to eq(['noreply@internet.ee'])
|
||||
end
|
||||
|
||||
it 'has new registrant\s email as a recipient' do
|
||||
expect(message.to).to match_array(['new.registrant@test.com'])
|
||||
end
|
||||
|
||||
it 'has subject' do
|
||||
subject = 'Domeeni test.com registreerija vahetuse taotlus tagasi lükatud' \
|
||||
' / test.com registrant change declined'
|
||||
|
||||
expect(message.subject).to eq(subject)
|
||||
end
|
||||
|
||||
it 'sends message' do
|
||||
expect { message.deliver_now }.to change { ActionMailer::Base.deliveries.count }.by(1)
|
||||
end
|
||||
end
|
||||
|
||||
describe '#expired' do
|
||||
let(:domain) { instance_spy(Domain, name: 'test.com', new_registrant_email: 'new.registrant@test.com') }
|
||||
let(:registrar) { instance_spy(Registrar) }
|
||||
let(:registrant) { instance_spy(Registrant) }
|
||||
|
||||
let(:domain_presenter) { instance_spy(DomainPresenter) }
|
||||
let(:registrar_presenter) { instance_spy(RegistrarPresenter) }
|
||||
let(:registrant_presenter) { instance_spy(RegistrantPresenter) }
|
||||
|
||||
subject(:message) { described_class.expired(domain: domain,
|
||||
registrar: registrar,
|
||||
registrant: registrant)
|
||||
}
|
||||
|
||||
before :example do
|
||||
expect(DomainPresenter).to receive(:new).and_return(domain_presenter)
|
||||
expect(RegistrarPresenter).to receive(:new).and_return(registrar_presenter)
|
||||
expect(RegistrantPresenter).to receive(:new).and_return(registrant_presenter)
|
||||
end
|
||||
|
||||
it 'has sender' do
|
||||
expect(message.from).to eq(['noreply@internet.ee'])
|
||||
end
|
||||
|
||||
it 'has new registrant\s email as a recipient' do
|
||||
expect(message.to).to match_array(['new.registrant@test.com'])
|
||||
end
|
||||
|
||||
it 'has subject' do
|
||||
subject = 'Domeeni test.com registreerija vahetuse taotlus on tühistatud' \
|
||||
' / test.com registrant change cancelled'
|
||||
|
||||
expect(message.subject).to eq(subject)
|
||||
end
|
||||
|
||||
it 'sends message' do
|
||||
expect { message.deliver_now }.to change { ActionMailer::Base.deliveries.count }.by(1)
|
||||
end
|
||||
end
|
||||
end
|
18
test/jobs/registrant_change_confirm_email_job_test.rb
Normal file
18
test/jobs/registrant_change_confirm_email_job_test.rb
Normal file
|
@ -0,0 +1,18 @@
|
|||
require 'test_helper'
|
||||
|
||||
class RegistrantChangeConfirmEmailJobTest < ActiveSupport::TestCase
|
||||
include ActionMailer::TestHelper
|
||||
|
||||
setup do
|
||||
ActionMailer::Base.deliveries.clear
|
||||
end
|
||||
|
||||
def test_delivers_email
|
||||
domain_id = domains(:shop).id
|
||||
new_registrant_id = contacts(:william).id
|
||||
|
||||
RegistrantChangeConfirmEmailJob.enqueue(domain_id, new_registrant_id)
|
||||
|
||||
assert_emails 1
|
||||
end
|
||||
end
|
84
test/mailers/registrant_change_mailer_test.rb
Normal file
84
test/mailers/registrant_change_mailer_test.rb
Normal file
|
@ -0,0 +1,84 @@
|
|||
require 'test_helper'
|
||||
|
||||
class RegistrantChangeMailerTest < ActiveSupport::TestCase
|
||||
include ActionMailer::TestHelper
|
||||
|
||||
setup do
|
||||
@domain = domains(:shop)
|
||||
ActionMailer::Base.deliveries.clear
|
||||
end
|
||||
|
||||
def test_delivers_confirmation_request_email
|
||||
assert_equal 'shop.test', @domain.name
|
||||
assert_equal 'john@inbox.test', @domain.registrant.email
|
||||
|
||||
email = RegistrantChangeMailer.confirm(domain: @domain,
|
||||
registrar: @domain.registrar,
|
||||
current_registrant: @domain.registrant,
|
||||
new_registrant: @domain.registrant).deliver_now
|
||||
|
||||
assert_emails 1
|
||||
assert_equal ['john@inbox.test'], email.to
|
||||
assert_equal 'Kinnitustaotlus domeeni shop.test registreerija vahetuseks' \
|
||||
' / Application for approval for registrant change of shop.test', email.subject
|
||||
end
|
||||
|
||||
def test_delivers_notification_email
|
||||
new_registrant = contacts(:william)
|
||||
assert_equal 'shop.test', @domain.name
|
||||
assert_equal 'william@inbox.test', new_registrant.email
|
||||
|
||||
email = RegistrantChangeMailer.notice(domain: @domain,
|
||||
registrar: @domain.registrar,
|
||||
current_registrant: @domain.registrant,
|
||||
new_registrant: new_registrant).deliver_now
|
||||
|
||||
assert_emails 1
|
||||
assert_equal ['william@inbox.test'], email.to
|
||||
assert_equal 'Domeeni shop.test registreerija vahetus protseduur on algatatud' \
|
||||
' / shop.test registrant change', email.subject
|
||||
end
|
||||
|
||||
def test_delivers_confirmation_email
|
||||
new_registrant = contacts(:william)
|
||||
assert_equal 'shop.test', @domain.name
|
||||
assert_equal 'john@inbox.test', @domain.registrant.email
|
||||
assert_equal 'william@inbox.test', new_registrant.email
|
||||
|
||||
email = RegistrantChangeMailer.confirmed(domain: @domain,
|
||||
old_registrant: new_registrant).deliver_now
|
||||
|
||||
assert_emails 1
|
||||
assert_equal %w[john@inbox.test william@inbox.test], email.to
|
||||
assert_equal 'Domeeni shop.test registreerija vahetus teostatud' \
|
||||
' / Registrant change of shop.test has been finished', email.subject
|
||||
end
|
||||
|
||||
def test_delivers_rejection_email
|
||||
assert_equal 'shop.test', @domain.name
|
||||
@domain.update!(pending_json: { new_registrant_email: 'william@inbox.test' })
|
||||
|
||||
email = RegistrantChangeMailer.rejected(domain: @domain,
|
||||
registrar: @domain.registrar,
|
||||
registrant: @domain.registrant).deliver_now
|
||||
|
||||
assert_emails 1
|
||||
assert_equal ['william@inbox.test'], email.to
|
||||
assert_equal 'Domeeni shop.test registreerija vahetuse taotlus tagasi lükatud' \
|
||||
' / shop.test registrant change declined', email.subject
|
||||
end
|
||||
|
||||
def test_delivers_expiration_email
|
||||
assert_equal 'shop.test', @domain.name
|
||||
@domain.update!(pending_json: { new_registrant_email: 'william@inbox.test' })
|
||||
|
||||
email = RegistrantChangeMailer.expired(domain: @domain,
|
||||
registrar: @domain.registrar,
|
||||
registrant: @domain.registrant).deliver_now
|
||||
|
||||
assert_emails 1
|
||||
assert_equal ['william@inbox.test'], email.to
|
||||
assert_equal 'Domeeni shop.test registreerija vahetuse taotlus on tühistatud' \
|
||||
' / shop.test registrant change cancelled', email.subject
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue