Sha256: 4553a2595ffac04513e342344af49b305356ce0874c15e904f3dbe9e7d374314

Contents?: true

Size: 908 Bytes

Versions: 4

Compression:

Stored size: 908 Bytes

Contents

require 'spec_helper'
require 'delayed_job'
require 'rollbar/delayed_job'

describe Rollbar::Delayed do
  class FailingJob
    class TestException < Exception; end

    def perform
      fail(TestException, 'failing')
    end
  end

  module DummyBackend
    class Job
      include Delayed::Backend::Base

      attr_accessor :handler, :attempts

      def initialize(options = {})
        @payload_object = options[:payload_object]
        @attempts = 0
      end
    end
  end

  let(:logger) { Rollbar.logger }

  before do
    Rollbar::Delayed.wrap_worker
    Delayed::Worker.delay_jobs = false
    Delayed::Worker.backend = DummyBackend::Job
  end

  it 'sends the exception' do
    expect do
      Delayed::Job.enqueue(FailingJob.new)
    end.to raise_error(FailingJob::TestException)

    last_report = Rollbar.last_report
    expect(last_report[:request]).to be_kind_of(DummyBackend::Job)
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
rollbar-1.2.5 spec/rollbar/delayed_job_spec.rb
rollbar-1.2.4 spec/rollbar/delayed_job_spec.rb
rollbar-1.2.3 spec/rollbar/delayed_job_spec.rb
rollbar-1.2.2 spec/rollbar/delayed_job_spec.rb