mirror of
https://github.com/internetee/registry.git
synced 2025-05-16 09:27:19 +02:00
109 lines
3.9 KiB
Ruby
109 lines
3.9 KiB
Ruby
require 'rails_helper'
|
|
|
|
RSpec.describe DomainDeleteMailer do
|
|
describe '#confirm' do
|
|
let(:domain) { instance_spy(Domain, name: 'test.com') }
|
|
let(:registrar) { instance_spy(Registrar) }
|
|
let(:registrant) { instance_spy(Registrant, email: 'registrant@test.com') }
|
|
|
|
let(:domain_presenter) { instance_spy(DomainPresenter) }
|
|
let(:registrar_presenter) { instance_spy(RegistrarPresenter) }
|
|
|
|
subject(:message) { described_class.confirm(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)
|
|
end
|
|
|
|
it 'has sender' do
|
|
expect(message.from).to eq(['noreply@internet.ee'])
|
|
end
|
|
|
|
it 'has 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 kustutamiseks .ee registrist' \
|
|
' / Application for approval for deletion of test.com'
|
|
|
|
expect(message.subject).to eq(subject)
|
|
end
|
|
|
|
it 'has confirm url' do
|
|
allow(domain).to receive(:id).and_return(1)
|
|
expect(domain).to receive(:registrant_verification_token).and_return('test')
|
|
url = registrant_domain_delete_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 '#forced' do
|
|
let(:domain) { instance_spy(Domain, name: 'test.com') }
|
|
let(:registrant) { instance_spy(Registrant) }
|
|
let(:template_name) { 'removed_company' }
|
|
|
|
let(:domain_presenter) { instance_spy(DomainPresenter) }
|
|
let(:registrar_presenter) { instance_spy(RegistrarPresenter) }
|
|
let(:registrant_presenter) { instance_spy(RegistrantPresenter) }
|
|
subject(:message) { described_class.forced(domain: domain,
|
|
registrar: 'registrar',
|
|
registrant: registrant,
|
|
template_name: template_name)
|
|
}
|
|
|
|
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 recipient' do
|
|
expect(domain).to receive(:primary_contact_emails).and_return(['recipient@test.com'])
|
|
expect(message.to).to match_array(['recipient@test.com'])
|
|
end
|
|
|
|
it 'has valid subject' do
|
|
subject = 'Domeen test.com on kustutusmenetluses' \
|
|
' / Domain test.com is in deletion process' \
|
|
' / Домен test.com в процессе удаления'
|
|
expect(message.subject).to eq(subject)
|
|
end
|
|
|
|
context 'when template is :death' do
|
|
let(:template_name) { 'death' }
|
|
|
|
it 'sends message' do
|
|
expect { message.deliver_now }.to change { ActionMailer::Base.deliveries.count }.by(1)
|
|
end
|
|
end
|
|
|
|
context 'when registrant is private entity' do
|
|
let(:registrant) { build_stubbed(:registrant_private_entity) }
|
|
|
|
it 'sends message' do
|
|
expect { message.deliver_now }.to change { ActionMailer::Base.deliveries.count }.by(1)
|
|
end
|
|
end
|
|
|
|
context 'when registrant is legal entity' do
|
|
let(:registrant) { build_stubbed(:registrant_legal_entity) }
|
|
|
|
it 'sends message' do
|
|
expect { message.deliver_now }.to change { ActionMailer::Base.deliveries.count }.by(1)
|
|
end
|
|
end
|
|
end
|
|
end
|