Sha256: 67098ff6f86637b588b4217f22d6503313d64bbf01419dfe379976e007952af9
Contents?: true
Size: 1.32 KB
Versions: 2
Compression:
Stored size: 1.32 KB
Contents
require 'helper' require 'action_mailer' class MyMailer < ActionMailer::Base def signup(email) mail :to => email, :subject => "Delaying Emails", :from => "delayedjob@example.com",:body => 'Delaying Emails Body' end end describe ActionMailer::Base do describe "delay" do it "enqueues a PerformableEmail job" do expect { job = MyMailer.delay.signup('john@example.com') expect(job.payload_object.class).to eq(Delayed::PerformableMailer) expect(job.payload_object.method_name).to eq(:signup) expect(job.payload_object.args).to eq(['john@example.com']) }.to change { Delayed::Job.count }.by(1) end end describe "delay on a mail object" do it "raises an exception" do expect { MyMailer.signup('john@example.com').delay }.to raise_error(RuntimeError) end end describe Delayed::PerformableMailer do describe "perform" do it "calls the method and #deliver on the mailer" do email = double('email', :deliver => true) mailer_class = double('MailerClass', :signup => email) mailer = Delayed::PerformableMailer.new(mailer_class, :signup, ['john@example.com']) expect(mailer_class).to receive(:signup).with('john@example.com') expect(email).to receive(:deliver) mailer.perform end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
delayed_job-4.0.2 | spec/performable_mailer_spec.rb |
delayed_job-4.0.1 | spec/performable_mailer_spec.rb |