Sha256: 103c30f2612863281c074ad750f465469d3cfd5087a4a3c5b393ae26cac422c1

Contents?: true

Size: 1.59 KB

Versions: 12

Compression:

Stored size: 1.59 KB

Contents

require "spec_helper"
require "pact_broker/groups/service"
require "pact_broker/index/service"

module PactBroker

  module Groups
    describe Service do

      describe "#find_group_containing" do

        let(:consumer_a) { double("consumer a", name: "consumer a", id: 1)}
        let(:consumer_b) { double("consumer b", name: "consumer b", id: 2)}

        let(:provider_x) { double("provider x", name: "provider x", id: 3)}
        let(:provider_y) { double("provider y", name: "provider y", id: 4)}

        let(:relationship_1) { Domain::IndexItem.new(consumer_a, provider_x) }
        let(:relationship_2) { Domain::IndexItem.new(consumer_b, provider_y) }

        let(:group_1) { Domain::Group.new(relationship_1) }
        let(:group_2) { Domain::Group.new(relationship_2) }

        let(:relationship_list) { double("relationship list") }
        let(:groups) { [group_1, group_2]}

        subject  { Service.find_group_containing(consumer_b) }

        before do
          allow(PactBroker::Index::Service).to receive(:find_index_items).and_return(relationship_list)
          allow(Relationships::Groupify).to receive(:call).and_return(groups)
        end

        it "retrieves a list of the relationships" do
          allow(Index::Service).to receive(:find_index_items)
          subject
        end

        it "turns the relationships into groups" do
          expect(Relationships::Groupify).to receive(:call).with(relationship_list)
          subject
        end

        it "returns the Group containing the given pacticipant" do
          expect(subject).to be group_2
        end

      end

    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
pact_broker-2.89.1 spec/lib/pact_broker/groups/service_spec.rb
pact_broker-2.89.0 spec/lib/pact_broker/groups/service_spec.rb
pact_broker-2.88.0 spec/lib/pact_broker/groups/service_spec.rb
pact_broker-2.87.0 spec/lib/pact_broker/groups/service_spec.rb
pact_broker-2.86.0 spec/lib/pact_broker/groups/service_spec.rb
pact_broker-2.85.1 spec/lib/pact_broker/groups/service_spec.rb
pact_broker-2.85.0 spec/lib/pact_broker/groups/service_spec.rb
pact_broker-2.84.0 spec/lib/pact_broker/groups/service_spec.rb
pact_broker-2.83.0 spec/lib/pact_broker/groups/service_spec.rb
pact_broker-2.82.0 spec/lib/pact_broker/groups/service_spec.rb
pact_broker-2.81.0 spec/lib/pact_broker/groups/service_spec.rb
pact_broker-2.80.0 spec/lib/pact_broker/groups/service_spec.rb