Sha256: 5519413f5e03dc5150dab394cb0d50c992c0dc25c2f5b32e3bf30160df8bbd25

Contents?: true

Size: 1.78 KB

Versions: 19

Compression:

Stored size: 1.78 KB

Contents

require 'spec_helper'
require 'pact_broker/configuration'
require 'pact_broker/api/renderers/html_pact_renderer'
require 'pact_broker/config/setting'

module PactBroker
  describe Configuration do

    context "default configuration" do
      describe ".html_pact_renderer" do

        let(:pact) { double('pact') }
        let(:options) { double('options') }

        it "calls the inbuilt HtmlPactRenderer" do
          expect(PactBroker::Api::Renderers::HtmlPactRenderer).to receive(:call).with(pact, options)
          PactBroker.configuration.html_pact_renderer.call pact, options
        end

      end

      describe "SETTING_NAMES" do
        let(:configuration) { PactBroker::Configuration.new}

        Configuration::SAVABLE_SETTING_NAMES.each do | setting_name |
          describe setting_name do
            it "exists as a method on a PactBroker::Configuration instance" do
              expect(configuration).to respond_to(setting_name)
            end
          end
        end
      end

      describe "save_to_database" do
        let(:configuration) { PactBroker::Configuration.default_configuration }

        it "saves the configuration to the database" do
          expect { configuration.save_to_database }.to change { PactBroker::Config::Setting.count }.by(Configuration::SAVABLE_SETTING_NAMES.size)
        end
      end

      describe "load_from_database!" do
        let(:configuration) { PactBroker::Configuration.new}

        before do
          PactBroker::Config::Setting.create(name: 'use_case_sensitive_resource_names', type: 'string', value: 'foo')
        end

        it "loads the configurations from the database" do
          configuration.load_from_database!
          expect(configuration.use_case_sensitive_resource_names).to eq "foo"
        end
      end
    end
  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
pact_broker-2.16.1 spec/lib/pact_broker/configuration_spec.rb
pact_broker-2.16.0 spec/lib/pact_broker/configuration_spec.rb
pact_broker-2.15.0 spec/lib/pact_broker/configuration_spec.rb
pact_broker-2.14.0 spec/lib/pact_broker/configuration_spec.rb
pact_broker-2.13.1 spec/lib/pact_broker/configuration_spec.rb
pact_broker-2.13.0 spec/lib/pact_broker/configuration_spec.rb
pact_broker-2.12.0 spec/lib/pact_broker/configuration_spec.rb
pact_broker-2.11.0 spec/lib/pact_broker/configuration_spec.rb
pact_broker-2.10.0 spec/lib/pact_broker/configuration_spec.rb
pact_broker-2.9.0 spec/lib/pact_broker/configuration_spec.rb
pact_broker-2.9.0.beta.5 spec/lib/pact_broker/configuration_spec.rb
pact_broker-2.8.0.beta.5 spec/lib/pact_broker/configuration_spec.rb
pact_broker-2.8.0.beta.4 spec/lib/pact_broker/configuration_spec.rb
pact_broker-2.7.0.beta.3 spec/lib/pact_broker/configuration_spec.rb
pact_broker-2.7.0.beta.2 spec/lib/pact_broker/configuration_spec.rb
pact_broker-2.7.0.beta.1 spec/lib/pact_broker/configuration_spec.rb
pact_broker-2.6.0 spec/lib/pact_broker/configuration_spec.rb
pact_broker-2.5.1 spec/lib/pact_broker/configuration_spec.rb
pact_broker-2.5.0 spec/lib/pact_broker/configuration_spec.rb