fix(mailer): observers on balancer and balanced delivery methods
- Les observers doivent être déclarés *avant* le chargement de nos delivery methods (Sendinblue & Dolist), sinon ils seront ignorés par ces derniers - dans le balancer, on ne peut pas appeler `.deliver` une seconde fois, sinon les observers (et interceptors) sont invoqués deux fois.
This commit is contained in:
parent
1766288c51
commit
05b517a847
3 changed files with 33 additions and 3 deletions
|
@ -83,6 +83,24 @@ RSpec.describe BalancerDeliveryMethod do
|
|||
end
|
||||
end
|
||||
|
||||
context 'when observers are configured' do
|
||||
let(:observer) { double("Observer") }
|
||||
|
||||
before do
|
||||
allow(observer).to receive(:delivered_email)
|
||||
ActionMailer::Base.register_observer(observer)
|
||||
end
|
||||
|
||||
after do
|
||||
ActionMailer::Base.unregister_observer(observer)
|
||||
end
|
||||
|
||||
it 'invoke the observer exactly once' do
|
||||
mail = ExampleMailer.greet('Joshua').deliver_now
|
||||
expect(observer).to have_received(:delivered_email).with(mail).once
|
||||
end
|
||||
end
|
||||
|
||||
# Helpers
|
||||
|
||||
def have_been_delivered_using(delivery_class)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue