2020-07-13 23:09:24 -04:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
require 'spec_helper'
|
|
|
|
require 'email_spec'
|
|
|
|
|
|
|
|
RSpec.describe DeviseMailer do
|
|
|
|
describe "#confirmation_instructions" do
|
|
|
|
subject { described_class.confirmation_instructions(user, 'faketoken', {}) }
|
|
|
|
|
2020-07-14 14:09:55 -04:00
|
|
|
context "when confirming a new account" do
|
|
|
|
let(:user) { build(:user, created_at: 1.minute.ago, unconfirmed_email: nil) }
|
|
|
|
|
|
|
|
it "shows the expected text" do
|
|
|
|
expect(subject.body.encoded).to have_text "Welcome"
|
|
|
|
expect(subject.body.encoded).not_to have_text user.email
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2020-07-13 23:09:24 -04:00
|
|
|
context "when confirming the unconfirmed_email" do
|
|
|
|
let(:user) { build(:user, unconfirmed_email: 'jdoe@example.com') }
|
|
|
|
|
2020-07-14 14:09:55 -04:00
|
|
|
it "shows the expected text" do
|
|
|
|
expect(subject.body.encoded).not_to have_text "Welcome"
|
2020-07-13 23:09:24 -04:00
|
|
|
expect(subject.body.encoded).to have_text user.unconfirmed_email
|
|
|
|
expect(subject.body.encoded).not_to have_text user.email
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
context "when re-confirming the primary email after a security issue" do
|
|
|
|
let(:user) { build(:user, created_at: 10.days.ago, unconfirmed_email: nil) }
|
|
|
|
|
2020-07-14 14:09:55 -04:00
|
|
|
it "shows the expected text" do
|
|
|
|
expect(subject.body.encoded).not_to have_text "Welcome"
|
2020-07-13 23:09:24 -04:00
|
|
|
expect(subject.body.encoded).to have_text user.email
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|