Sha256: ec580755c93255eefe9c8dcf86d366101eb2a55243ed4aa31d82166f65b44aa5

Contents?: true

Size: 1003 Bytes

Versions: 1

Compression:

Stored size: 1003 Bytes

Contents

require "spec_helper"

RSpec.describe PubsubNotifier::Broadcasters::ActiveJobBroadcaster do
  let(:broadcaster) { described_class.new }
  let(:configured_job) { double(:configured_job) }

  let(:subscriber) do
    Struct.new(:name) do
      attr_reader :name
    end
  end

  subject { broadcaster.broadcast(subscriber.new(name: :sub), nil, nil, nil) }

  context "when global_id is not blank" do
    before do
      allow(broadcaster).to receive(:configured_job).and_return(configured_job)
      allow(configured_job).to receive(:perform_later).and_return(:perform_later)
    end

    it { is_expected.to eq :perform_later }
  end

  context "when global_id is blank" do
    before do
      allow(broadcaster).to receive(:configured_job).and_return(configured_job)
      allow(configured_job).to receive(:perform_later).and_raise(::ActiveJob::SerializationError)
      allow(configured_job).to receive(:perform_now).and_return(:perform_now)
    end

    it { is_expected.to eq :perform_now }
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
pubsub_notifier-0.1.2 spec/lib/broadcasters/active_job_broadcaster_spec.rb