aboutsummaryrefslogtreecommitdiffstats
path: root/actionmailer/test/message_delivery_test.rb
Commit message (Collapse)AuthorAgeFilesLines
* applies new string literal convention in actionmailer/testXavier Noria2016-08-061-30/+30
| | | | | The current code base is not uniform. After some discussion, we have chosen to go with double quotes by default.
* Action Mailer: Declarative exception handling with `rescue_from`.Jeremy Daer2016-05-151-1/+50
| | | | | | | | | | | | | | | | | | | | | | | Follows the same pattern as controllers and jobs. Exceptions raised in delivery jobs (enqueued by `#deliver_later`) are also delegated to the mailer's rescue_from handlers, so you can handle the DeserializationError raised by delivery jobs: ```ruby class MyMailer < ApplicationMailer rescue_from ActiveJob::DeserializationError do … end ``` ActiveSupport::Rescuable polish: * Add the `rescue_with_handler` class method so exceptions may be handled at the class level without requiring an instance. * Rationalize `exception.cause` handling. If no handler matches the exception, fall back to the handler that matches its cause. * Handle exceptions raised elsewhere. Pass `object: …` to execute the `rescue_from` handler (e.g. a method call or a block to instance_exec) against a different object. Defaults to `self`.
* Disallow calling `#deliver_later` after local message modifications.Jeremy Daer2016-04-071-0/+8
| | | | | | | | | | | | | | | | | | | They would be lost when the delivery job is enqueued, otherwise. Prevents a common, hard-to-find bug like: ```ruby message = Notifier.welcome(user, foo) message.message_id = my_generated_message_id message.deliver_later ``` The message_id is silently lost here! *Only the mailer arguments are passed to the delivery job.* This raises an exception now. Make modifications to the message within the mailer method or use a custom Active Job to manage delivery instead of using #deliver_later.
* Removed duplicate requiring minitest/mock as it is already required in ↵Ronak Jangir2015-08-261-1/+0
| | | | method_call_assertions
* Revert "Merge pull request #20758 from ↵Kasper Timm Hansen2015-07-071-14/+6
| | | | | | | xijo/action_mailer_message_delivery_respects_i18n_locale" This reverts commit f2a8c23654d69dd8f294971487b5abf0e5d891c3, reversing changes made to 3046c9bbe154aa717a5147091be8b495ed8969c4.
* ActionMailer::MessageDelivery respects current I18n.localeJohannes Opper2015-07-051-6/+14
| | | | | | | | | | | | | | | | | | When #deliver_now is called all translations within the generated email will be looked up for the current I18n locale. I18n.locale = ‘de’ mail.deliver_now # Generates german email, correct In #enqueue_delivery the locale was not considered and the resulting job uses the default locale. I18n.locale = ‘de’ mail.deliver_later # Generate english email, incorrect In order to achieve a consistent behaviour the current locale is now always passed to `ActionMailer::DeliveryJob`.
* Merge pull request #18587 from ↵Rafael Mendonça França2015-06-031-0/+14
|\ | | | | | | | | | | chrismcg/allow_deliver_later_queue_name_to_be_configured Allow configuration of ActionMailer queue name
| * Allow configuration of ActionMailer queue nameChris McGrath2015-06-021-0/+14
| |
* | not needed require'sAnkit Gupta2015-05-101-1/+0
| | | | | | | | | | - as core_ext is not used and test pass locally - mail is already required in abstract_unit
* | Removed magic comments # encoding: utf-8 , since its default from ruby 2.0 ↵Vipul A M2015-02-031-1/+0
|/ | | | onwards.
* Remove deprecated ActionMailer deliver & deliver!claudiob2015-01-041-19/+0
| | | | | These methods were deprecated in Rails 4.2 (see f4ee1147) so they can be safely removed in Rails 5.0.
* Rename remaining :in / :at to :wait / :wait_untilCristian Bica2014-09-041-3/+5
|
* Active Job refactoringCristian Bica2014-09-031-12/+12
|
* Make test:isolated run without bundler for Action MailerRobin Dupret2014-08-291-3/+2
| | | | | | | | Action Mailer tests weren't able to run in isolation without the bundle exec prefix since we were requiring gems before requiring abstract_unit. We don't need the `gem` call thus and the require_relative since the test directory should be present in the load path when we run any test.
* Fix SyntaxErrorAkira Matsuda2014-08-211-1/+1
|
* Deprecated .deliver / .deliver! to .deliver_now / .deliver_now!Cristian Bica2014-08-201-5/+24
|
* Clear deliveries in order not to affect other testsAkira Matsuda2014-08-201-2/+4
|
* [ActionMailer] Rename ActionMailer::DelayedDeliveryJob to ↵Abdelkader Boudih2014-08-171-4/+4
| | | | ActionMailer::DeliveryJob
* [ActiveJob] Fix test syntaxAbdelkader Boudih2014-08-171-10/+10
|
* Refactor DeliverLater into MessageDeliveryAbdelkader Boudih2014-08-141-0/+82