Files
old-holivud2/spec/mailers/user_mailer_spec.rb
2020-08-04 08:16:16 +02:00

62 lines
2.1 KiB
Ruby

require "rails_helper"
describe UserMailer do
describe "password_reset" do
let(:user) { create(:user) }
let(:mail) { UserMailer.password_reset(user) }
it "renders the headers" do
expect(mail.subject).to eq("Password reset")
expect(mail.to).to eq([user.email])
expect(mail.from).to eq(["support@mesuite.ai"])
end
it "renders the body" do
expect(mail.body.encoded).to match(edit_password_reset_path(id: user.password_reset_token))
end
end
describe "project_invitation" do
let(:user) { create(:user) }
let(:project) { create(:project) }
let(:mail) { UserMailer.project_invitation(user, project) }
it "renders the headers" do
expect(mail.subject).to eq("You've been added to a project in the ME Suite")
expect(mail.to).to eq([user.email])
expect(mail.from).to eq(["support@mesuite.ai"])
end
it "renders the body" do
expect(mail.body.encoded).to match(user.primary_account.name)
expect(mail.body.encoded).to match(project.name)
expect(mail.body.encoded).not_to match(edit_password_reset_url(id: user.password_reset_token, host: AppHost.new.domain_with_port))
end
context "when user is new" do
let(:mail) { UserMailer.project_invitation(user, project, user_is_new: true) }
it "includes a link to set the user password" do
expect(mail.body.encoded).to match(edit_password_reset_url(id: user.password_reset_token, host: AppHost.new.domain_with_port))
end
end
end
describe "welcome" do
let(:user) { create(:user) }
let(:account) { create(:account) }
let(:mail) { UserMailer.welcome(user, account) }
it "renders the headers" do
expect(mail.subject).to eq("Welcome to BiG")
expect(mail.to).to eq([user.email])
expect(mail.from).to eq(["support@mesuite.ai"])
end
it "renders the body" do
expect(mail.body.encoded).to match(user.primary_account.name)
expect(mail.body.encoded).to match(edit_password_reset_url(id: user.password_reset_token, host: AppHost.new.domain_with_port))
end
end
end