メーラー仕様
デフォルトでは、メーラーの仕様は spec/mailers
フォルダに配置されます。コンテキストにメタデータ type: :mailer
を追加すると、その例はメーラーの仕様として扱われます。
メーラーの仕様は、ActionMailer::TestCase の薄いラッパーであり、それが提供するすべての動作とアサーションを含んでいます。さらに、RSpec自体の動作と期待も含まれます。
例
require "rails_helper"
RSpec.describe Notifications, type: :mailer do
describe "notify" do
let(:mail) { Notifications.signup }
it "renders the headers" do
expect(mail.subject).to eq("Signup")
expect(mail.to).to eq(["to@example.org"])
expect(mail.from).to eq(["from@example.com"])
end
it "renders the body" do
expect(mail.body.encoded).to match("Hi")
end
end
end