Sha256: 15d919406eda9aead3314b4e086c5880376678e9469c706fb208e0ac81678c1e

Contents?: true

Size: 1.04 KB

Versions: 4

Compression:

Stored size: 1.04 KB

Contents

require "spec_helper"

describe G5Updatable::ClientFeedProcessor do
  let(:client_updater) { double(update: nil) }
  let(:locations_updater) { double(update: nil) }

  before do
    allow(G5Updatable::ClientUpdater).to receive(:new) { client_updater }
    allow(G5Updatable::LocationsUpdater).to receive(:new) { locations_updater }
  end

  describe "#work" do
    after { described_class.new(urn).work }
    let(:urn) { nil }

    context "a nil urn" do
      before { allow(G5Updatable).to receive(:client_identifier) { nil } }

      it "does not call update on the client updater" do
        expect(client_updater).to_not receive(:update)
      end

      it "does not call update on the locations updater" do
        expect(locations_updater).to_not receive(:update)
      end
    end

    context "a present urn" do
      it "calls update on the client updater" do
        expect(client_updater).to receive(:update)
      end

      it "calls update on the locations updater" do
        expect(locations_updater).to receive(:update)
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
g5_updatable-0.2.1 spec/lib/g5_updatable/client_feed_processor_spec.rb
g5_updatable-0.2.0 spec/lib/g5_updatable/client_feed_processor_spec.rb
g5_updatable-0.1.0 spec/lib/g5_updatable/client_feed_processor_spec.rb
g5_updatable-0.0.1 spec/lib/g5_updatable/client_feed_processor_spec.rb