Sha256: eb80b5eb78829c42e1bca8893d93d6bfa83304b0eee4208f79c2516dabf85a84

Contents?: true

Size: 1.16 KB

Versions: 49

Compression:

Stored size: 1.16 KB

Contents

require 'spec_helper'
require 'pact_broker/api/resources/webhooks'

module PactBroker::Api

  module Resources

    describe Webhooks do

      describe "GET" do

        subject { get "/webhooks" }

        let(:webhooks) { [double('webhook')]}
        let(:decorator) { double(Decorators::WebhooksDecorator, to_json: json)}
        let(:json) { {some: 'json'}.to_json }

        before do
          allow(Decorators::WebhooksDecorator).to receive(:new).and_return(decorator)
          allow(PactBroker::Webhooks::Service).to receive(:find_all).and_return(webhooks)
        end

        it "returns a 200 HAL JSON response" do
          subject
          expect(last_response).to be_a_hal_json_success_response
        end

        it "generates a JSON representation of the webhook" do
          expect(Decorators::WebhooksDecorator).to receive(:new).with(webhooks)
          expect(decorator).to receive(:to_json).with(user_options: instance_of(Decorators::DecoratorContext))
          subject
        end

        it "includes the JSON representation in the response body" do
          subject
          expect(last_response.body).to eq json
        end

      end

    end
  end

end

Version data entries

49 entries across 49 versions & 1 rubygems

Version Path
pact_broker-2.22.0 spec/lib/pact_broker/api/resources/webhooks_spec.rb
pact_broker-2.21.0 spec/lib/pact_broker/api/resources/webhooks_spec.rb
pact_broker-2.20.0 spec/lib/pact_broker/api/resources/webhooks_spec.rb
pact_broker-2.19.2 spec/lib/pact_broker/api/resources/webhooks_spec.rb
pact_broker-2.19.1 spec/lib/pact_broker/api/resources/webhooks_spec.rb
pact_broker-2.19.0 spec/lib/pact_broker/api/resources/webhooks_spec.rb
pact_broker-2.18.0 spec/lib/pact_broker/api/resources/webhooks_spec.rb
pact_broker-2.17.1 spec/lib/pact_broker/api/resources/webhooks_spec.rb
pact_broker-2.17.0 spec/lib/pact_broker/api/resources/webhooks_spec.rb
pact_broker-2.16.1 spec/lib/pact_broker/api/resources/webhooks_spec.rb
pact_broker-2.16.0 spec/lib/pact_broker/api/resources/webhooks_spec.rb
pact_broker-2.15.0 spec/lib/pact_broker/api/resources/webhooks_spec.rb
pact_broker-2.14.0 spec/lib/pact_broker/api/resources/webhooks_spec.rb
pact_broker-2.13.1 spec/lib/pact_broker/api/resources/webhooks_spec.rb
pact_broker-2.13.0 spec/lib/pact_broker/api/resources/webhooks_spec.rb
pact_broker-2.12.0 spec/lib/pact_broker/api/resources/webhooks_spec.rb
pact_broker-2.11.0 spec/lib/pact_broker/api/resources/webhooks_spec.rb
pact_broker-2.10.0 spec/lib/pact_broker/api/resources/webhooks_spec.rb
pact_broker-2.9.0 spec/lib/pact_broker/api/resources/webhooks_spec.rb
pact_broker-2.9.0.beta.5 spec/lib/pact_broker/api/resources/webhooks_spec.rb