docbrown/spec/mailers/verification_mailer_spec.rb
Ridhwana b21397a8c6
"Reply to" and "From" Email addresses for SMTP Configurations (#16499)
* feat: create a from_email_address and a reply_to_email_address

* feat: update other mailers with the new SMTP email settings

* test: update all spec files

* fix: use the SMTP::Settings value

* fix tests

* spec: fix the comma

* feat: tighten some logic

* fix: test

* fix tests

* fix tests

* final fix test commit

* fix test

* fix test

* oops

* feat: add a reply_to for Devise Mailer

* chore: update the description

* use a proc for reply_to

* feat: update text

* Update spec/mailers/digest_mailer_spec.rb

Co-authored-by: Julianna Tetreault <32834804+juliannatetreault@users.noreply.github.com>

* Update spec/mailers/verification_mailer_spec.rb

Co-authored-by: Julianna Tetreault <32834804+juliannatetreault@users.noreply.github.com>

* Update spec/mailers/shared_examples/renders_proper_email_headers.rb

Co-authored-by: Julianna Tetreault <32834804+juliannatetreault@users.noreply.github.com>

* refactor: move OPTIONS to a helper as its only being used in the view layer

Co-authored-by: Julianna Tetreault <32834804+juliannatetreault@users.noreply.github.com>
2022-02-16 16:14:54 +02:00

23 lines
857 B
Ruby

require "rails_helper"
RSpec.describe VerificationMailer, type: :mailer do
let(:user) { create(:user) }
let(:from_email_address) { "custom_noreply@forem.com" }
describe "#account_ownership_verification_email" do
before do
allow(Settings::SMTP).to receive(:provided_minimum_settings?).and_return(true)
allow(Settings::SMTP).to receive(:from_email_address).and_return(from_email_address)
end
it "works correctly", :aggregate_failures do
email = described_class.with(user_id: user.id).account_ownership_verification_email
expect(email.subject).not_to be_nil
expect(email.to).to eq([user.email])
expect(email.from).to eq([from_email_address])
from = "#{Settings::Community.community_name} Email Verification <#{from_email_address}>"
expect(email["from"].value).to eq(from)
end
end
end