62 lines
2.1 KiB
Ruby
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
|