Sha256: 5bed6aff76d1be513b3c6ac30af4b6e7a38be089928f556161ff1b11be1ed636

Contents?: true

Size: 1.94 KB

Versions: 1

Compression:

Stored size: 1.94 KB

Contents

require "spec"
require File.join(File.dirname(__FILE__), %w[spec_helper])
require 'sevendigital'

describe "Client" do

  it "should load default configuration" do
    client = Sevendigital::Client.new
    client.configuration.api_url.should == 'api.7digital.com'
  end

  it "should override default configuration with configuration hash" do
    client = Sevendigital::Client.new(:api_url => "test-hash.7digital.com")
    client.configuration.api_url.should == 'test-hash.7digital.com'
  end

  it "should override default configuration with configuration class" do
    client = Sevendigital::Client.new(OpenStruct.new(:api_url => "test-openstruct.7digital.com"))
    client.configuration.api_url.should == 'test-openstruct.7digital.com'
  end

  it "should use simple configuration file" do
    client = Sevendigital::Client.new(File.join(File.dirname(__FILE__),"data", "configuration_override.yml"))
    client.configuration.api_url.should == 'test-yml-simple.7digital.com'
  end

  it "should use environment specific configuration file" do
    client = Sevendigital::Client.new(File.join(File.dirname(__FILE__),"data", "configuration_env_override.yml"))
    client.configuration.api_url.should == 'test-yml-common.7digital.com'
  end

  it "should use environment specific configuration file with environment specific settings" do
    Object.const_set(:RAILS_ENV, "development") 
    client = Sevendigital::Client.new(File.join(File.dirname(__FILE__),"data", "configuration_env_override.yml"))
    client.configuration.api_url.should == 'test-yml-development.7digital.com'
    Object.instance_eval{ remove_const :RAILS_ENV }
  end

  it "should use rails/config/sevendigital configuration as default rails settings" do
    Object.const_set(:RAILS_ROOT, File.join(File.dirname(__FILE__),"data"))
    client = Sevendigital::Client.new()
    client.configuration.api_url.should == 'test-yml-rails-common.7digital.com'
    Object.instance_eval{ remove_const :RAILS_ROOT }
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
7digital-0.0.1 spec/client_spec.rb