mirror of
https://github.com/maybe-finance/maybe.git
synced 2025-07-24 07:39:39 +02:00
* Add setting fields to model * Allow to configure SMTP settings * Normalize locales * Cleanup locales * Remove 'coming soon' * fix test * Reset credentials * Reset development config * Check smtp spelling * Use post instead of get method * TLS ENV variable is more descriptive * Rework application mailer * Follow rails convention for mailer action params * Reset schema.rb to main * Test WIP * Add test for controller and mailer * Move tests from controller to model * Custom error message if settings are not all present * Comment smtp config in development env * Add default tls enabled value * Rubocop * Fix controller test * Reset credentials * Normalize locales * Test * fix test * Fix application mailer test that fails randomly * Error flash message instead of notice * Rework application mailer tests
45 lines
1.5 KiB
Ruby
45 lines
1.5 KiB
Ruby
require "test_helper"
|
|
|
|
class ApplicationMailerTest < ActionMailer::TestCase
|
|
setup do
|
|
class TestMailer < ApplicationMailer
|
|
def test_email
|
|
mail(to: "testto@email.com", from: "testfrom@email.com", subject: "Test email subject", body: "Test email body")
|
|
end
|
|
end
|
|
end
|
|
|
|
test "should use self host settings when self host enabled" do
|
|
ENV["SELF_HOSTING_ENABLED"] = "true"
|
|
|
|
smtp_host = "smtp.example.com"
|
|
smtp_port = 466
|
|
smtp_username = "user@example.com"
|
|
smtp_password = "password"
|
|
email_sender = "notification@example.com"
|
|
|
|
smtp_settings_from_settings = { address: smtp_host,
|
|
port: smtp_port,
|
|
user_name: smtp_username,
|
|
password: smtp_password }
|
|
|
|
Setting.stubs(:smtp_host).returns(smtp_host)
|
|
Setting.stubs(:smtp_port).returns(smtp_port)
|
|
Setting.stubs(:smtp_username).returns(smtp_username)
|
|
Setting.stubs(:smtp_password).returns(smtp_password)
|
|
Setting.stubs(:email_sender).returns(email_sender)
|
|
|
|
TestMailer.test_email.deliver_now
|
|
assert_emails 1
|
|
assert_equal smtp_settings_from_settings, ActionMailer::Base.deliveries.first.delivery_method.settings.slice(:address, :port, :user_name, :password)
|
|
end
|
|
|
|
test "should use regular env settings when self host disabled" do
|
|
ENV["SELF_HOSTING_ENABLED"] = "false"
|
|
|
|
TestMailer.test_email.deliver_now
|
|
|
|
assert_emails 1
|
|
assert_nil ActionMailer::Base.deliveries.first.delivery_method.settings[:address]
|
|
end
|
|
end
|