Sha256: 00663507a9e99b0c9ef670eb080014aacdd9acb8d3b3d56047300bd0a9eced3d

Contents?: true

Size: 1015 Bytes

Versions: 4

Compression:

Stored size: 1015 Bytes

Contents

require 'spec_helper'

describe Apress::Api::FireCallbackJob, type: :job do
  let(:params) { {test: 1} }

  describe '#perform' do
    let(:event) { 'some_event' }
    context 'when all goind well' do
      it 'calls correct service' do
        expect(ServiceClient::FireCallback).to receive(:call!).with(event: event, params: params)

        described_class.perform("service", event, params)
      end
    end

    context 'in case of retry error' do
      let(:event) { 'some_error_event' }
      it 'throws Callbacks::FireCallbackError' do
        expect do
          described_class.perform("error", event, params)
        end.to raise_error(Apress::Api::Callbacks::FireCallbackError)
      end
    end

    context 'in case of repeat error' do
      let(:event) { 'repeat_error' }
      it 'throws Callbacks::RepeatCallbackError' do
        expect do
          described_class.perform("error", event, params)
        end.to raise_error(Apress::Api::Callbacks::RepeatCallbackError)
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
apress-api-1.24.0 spec/jobs/apress/api/fire_callback_job_spec.rb
apress-api-1.23.0 spec/jobs/apress/api/fire_callback_job_spec.rb
apress-api-1.22.1 spec/jobs/apress/api/fire_callback_job_spec.rb
apress-api-1.22.0 spec/jobs/apress/api/fire_callback_job_spec.rb