Sha256: ea0ac4a06a10d4e3493ff2c00c15f28fd362817398c1acf79fbeb9ad6a4d403e

Contents?: true

Size: 1.95 KB

Versions: 75

Compression:

Stored size: 1.95 KB

Contents

require 'spec_helper'
require 'pact_broker/api/decorators/webhook_request_decorator'
require 'json'

module PactBroker
  module Api
    module Decorators
      describe WebhookRequestDecorator do

        let(:username) { 'username' }
        let(:display_password) { '*****' }
        let(:webhook_request) do
          instance_double(
            PactBroker::Domain::WebhookRequest,
            username: username,
            display_password: display_password,
            method: 'POST',
            url: 'url',
            body: 'body',
            headers: {})
        end

        let(:json) { WebhookRequestDecorator.new(webhook_request).to_json }

        subject { JSON.parse(json, symbolize_names: true)}

        describe "to_json" do

          it "includes the username" do
            expect(subject[:username]).to eq username
          end

          it "includes the username starred out" do
            expect(subject[:password]).to eq display_password
          end

          context "when there is no password" do

            let(:display_password) { nil }

            it "does not include a password key" do
              expect(subject).to_not have_key(:password)
            end
          end
        end

        describe "from_json" do
          let(:password) { 'password' }
          let(:hash) do
            {
              username: username,
              password: password,
              method: 'POST',
              url: 'url',
              body: 'body',
              headers: {}
            }
          end

          let(:json) { hash.to_json }
          let(:webhook_request) { PactBroker::Domain::WebhookRequest.new }

          subject { WebhookRequestDecorator.new(webhook_request).from_json(json) }

          it "reads the username" do
            expect(subject.username).to eq username
          end

          it "reads the password" do
            expect(subject.password).to eq password
          end

        end

      end
    end
  end
end

Version data entries

75 entries across 75 versions & 1 rubygems

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