Sha256: dd42a5a013d4069980c3b8b5aa8c33de8cdbe3ba60f0648d59813de7c3365259

Contents?: true

Size: 1.34 KB

Versions: 2

Compression:

Stored size: 1.34 KB

Contents

require 'spec_helper'

describe Tankard do

  context "when delegating to a client" do

    before do
      Tankard::Client.any_instance.stub(:test).and_return("testing")
    end

    it "delegates to Tankard::Client" do
      expect(Tankard.test).to eql("testing")
    end

    describe ".respond_to?" do

      it "delegates to Tankard::Client" do
        expect(Tankard.respond_to?(:test)).to be_true
      end
    end

    describe ".client" do

      it "returns a Tankard::Client" do
        expect(Tankard.client).to be_kind_of(Tankard::Client)
      end

      it "does not create a new Tankard::Client when one is already created" do
        client = Tankard.client
        expect(Tankard.client).to eql(client)
      end
    end
  end

  describe ".configuration" do

    context "when invalid configuration data is provided" do

      it "raises a configuration error" do
        expect {
          Tankard.configure do |config|
            config.api_key = 1234
          end
        }.to raise_error(Tankard::Error::ConfigurationError)
      end
    end

    context "when valid configuration data is provided" do

      before do
        Tankard.configure do |config|
          config.api_key = "abc123"
        end
      end

      it "sets the api_key" do
        expect(Tankard.instance_variable_get(:"@api_key")).to eql("abc123")
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
tankard-0.1.0 spec/tankard_spec.rb
tankard-0.0.1 spec/tankard_spec.rb