124 lines
2.4 KiB
Ruby
124 lines
2.4 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
RSpec.describe Hanami::Mailer::Dsl do
|
|
let(:mailer) { Class.new { extend Hanami::Mailer::Dsl } }
|
|
|
|
describe '.from' do
|
|
it 'returns the default value' do
|
|
expect(mailer.from).to be(nil)
|
|
end
|
|
|
|
it 'sets the value' do
|
|
sender = 'sender@hanami.test'
|
|
mailer.from sender
|
|
|
|
expect(mailer.from).to eq(sender)
|
|
end
|
|
end
|
|
|
|
describe '.to' do
|
|
it 'returns the default value' do
|
|
expect(mailer.to).to be(nil)
|
|
end
|
|
|
|
it 'sets a single value' do
|
|
recipient = 'recipient@hanami.test'
|
|
mailer.to recipient
|
|
|
|
expect(mailer.to).to eq(recipient)
|
|
end
|
|
|
|
it 'sets an array of values' do
|
|
recipients = ['recipient@hanami.test']
|
|
mailer.to recipients
|
|
|
|
expect(mailer.to).to eq(recipients)
|
|
end
|
|
end
|
|
|
|
describe '.cc' do
|
|
it 'returns the default value' do
|
|
expect(mailer.cc).to be(nil)
|
|
end
|
|
|
|
it 'sets a single value' do
|
|
recipient = 'cc@hanami.test'
|
|
mailer.cc recipient
|
|
|
|
expect(mailer.cc).to eq(recipient)
|
|
end
|
|
|
|
it 'sets an array of values' do
|
|
recipients = ['cc@hanami.test']
|
|
mailer.cc recipients
|
|
|
|
expect(mailer.cc).to eq(recipients)
|
|
end
|
|
end
|
|
|
|
describe '.bcc' do
|
|
it 'returns the default value' do
|
|
expect(mailer.bcc).to be(nil)
|
|
end
|
|
|
|
it 'sets a single value' do
|
|
recipient = 'bcc@hanami.test'
|
|
mailer.bcc recipient
|
|
|
|
expect(mailer.bcc).to eq(recipient)
|
|
end
|
|
|
|
it 'sets an array of values' do
|
|
recipients = ['bcc@hanami.test']
|
|
mailer.bcc recipients
|
|
|
|
expect(mailer.bcc).to eq(recipients)
|
|
end
|
|
end
|
|
|
|
describe '.subject' do
|
|
it 'returns the default value' do
|
|
expect(mailer.subject).to be(nil)
|
|
end
|
|
|
|
it 'sets a value' do
|
|
mail_subject = 'Hello'
|
|
mailer.subject mail_subject
|
|
|
|
expect(mailer.subject).to eq(mail_subject)
|
|
end
|
|
end
|
|
|
|
describe '.template' do
|
|
it 'sets a value' do
|
|
mailer.template 'file'
|
|
end
|
|
end
|
|
|
|
describe '.template_name' do
|
|
it 'returns the default value' do
|
|
expect(mailer.template_name).to be(nil)
|
|
end
|
|
|
|
it 'returns value, if set' do
|
|
template = 'file'
|
|
mailer.template template
|
|
|
|
expect(mailer.template_name).to eq(template)
|
|
end
|
|
end
|
|
|
|
describe '.before' do
|
|
it 'returns the default value' do
|
|
expect(mailer.before).to be_kind_of(Proc)
|
|
end
|
|
|
|
it 'sets a value' do
|
|
blk = ->(*) {}
|
|
mailer.before(&blk)
|
|
|
|
expect(mailer.before).to eq(blk)
|
|
end
|
|
end
|
|
end
|