Commit a0c37e4b authored by Dan Jensen's avatar Dan Jensen

Improve tests for Devise confirmation emails

Recently test coverage was added for the Devise confirmation emails,
but was incomplete. This adds a test context for new users, and adds
important language expectations to the other 2 contexts.
parent 3f6f512f
...@@ -7,10 +7,20 @@ RSpec.describe DeviseMailer do ...@@ -7,10 +7,20 @@ RSpec.describe DeviseMailer do
describe "#confirmation_instructions" do describe "#confirmation_instructions" do
subject { described_class.confirmation_instructions(user, 'faketoken', {}) } subject { described_class.confirmation_instructions(user, 'faketoken', {}) }
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
context "when confirming the unconfirmed_email" do context "when confirming the unconfirmed_email" do
let(:user) { build(:user, unconfirmed_email: 'jdoe@example.com') } let(:user) { build(:user, unconfirmed_email: 'jdoe@example.com') }
it "shows the unconfirmed_email" do it "shows the expected text" do
expect(subject.body.encoded).not_to have_text "Welcome"
expect(subject.body.encoded).to have_text user.unconfirmed_email expect(subject.body.encoded).to have_text user.unconfirmed_email
expect(subject.body.encoded).not_to have_text user.email expect(subject.body.encoded).not_to have_text user.email
end end
...@@ -19,7 +29,8 @@ RSpec.describe DeviseMailer do ...@@ -19,7 +29,8 @@ RSpec.describe DeviseMailer do
context "when re-confirming the primary email after a security issue" do context "when re-confirming the primary email after a security issue" do
let(:user) { build(:user, created_at: 10.days.ago, unconfirmed_email: nil) } let(:user) { build(:user, created_at: 10.days.ago, unconfirmed_email: nil) }
it "shows the primary email" do it "shows the expected text" do
expect(subject.body.encoded).not_to have_text "Welcome"
expect(subject.body.encoded).to have_text user.email expect(subject.body.encoded).to have_text user.email
end end
end end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment