メーラーのURLヘルパーの例
メーラースペックは、type: :mailer
とマークされます。または、
config.infer_spec_type_from_file_location!
を設定している場合は、spec/mailers
に配置されます。
デフォルトオプションを使用したURLヘルパーの使用方法
以下の内容で「config/initializers/mailer_defaults.rb」という名前のファイルがあるとします。
Rails.configuration.action_mailer.default_url_options = { :host => 'example.com' }
以下の内容で「spec/mailers/notifications_spec.rb」という名前のファイルがあるとします。
require 'rails_helper'
RSpec.describe NotificationsMailer, type: :mailer do
it 'should have access to URL helpers' do
expect { gadgets_url }.not_to raise_error
end
end
rspec spec
を実行すると、
すべての例がパスするはずです。
デフォルトオプションなしでURLヘルパーを使用する方法
以下の内容で「config/initializers/mailer_defaults.rb」という名前のファイルがあるとします。
# no default options
以下の内容で「spec/mailers/notifications_spec.rb」という名前のファイルがあるとします。
require 'rails_helper'
RSpec.describe NotificationsMailer, type: :mailer do
it 'should have access to URL helpers' do
expect { gadgets_url :host => 'example.com' }.not_to raise_error
expect { gadgets_url }.to raise_error
end
end
rspec spec
を実行すると、
すべての例がパスするはずです。