Sha256: 08c1f89030ec88be733e533a7dcffe617a36fb4a3dacb2821d5139230c0c3481

Contents?: true

Size: 1.28 KB

Versions: 14

Compression:

Stored size: 1.28 KB

Contents

require 'spec_helper'

describe Berkshelf::Config do
  describe '::file' do
    context 'when the file does not exist' do
      before { File.stub(:exists?).and_return(false) }

      it 'is nil' do
        expect(Berkshelf::Config.file).to be_nil
      end
    end
  end

  describe '::instance' do
    it 'should be a Berkshelf::Config' do
      expect(Berkshelf::Config.instance).to be_an_instance_of(Berkshelf::Config)
    end
  end

  describe '::path' do
    it 'is a string' do
      expect(Berkshelf::Config.path).to be_a(String)
    end

    before do
      File.stub(:exists?).and_return(false)
    end

    after do
      Berkshelf::Config.instance_variable_set(:@path, nil)
    end

    context "when ENV['BERKSHELF_CONFIG'] is used" do
      before do
        ENV.stub(:[]).with('BERKSHELF_CONFIG').and_return('/tmp/config.json')
        File.stub(:exists?).with('/tmp/config.json').and_return(true)
      end

      it "points to a location within it" do
        expect(Berkshelf::Config.path).to match(%r{/tmp/config.json})
      end
    end
  end

  describe "::set_path" do
    subject(:set_path) { described_class.set_path("/tmp/other_path.json") }

    it "sets the #instance to nil" do
      set_path
      expect(described_class.instance_variable_get(:@instance)).to be_nil
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
berkshelf-3.1.5 spec/unit/berkshelf/config_spec.rb
berkshelf-3.1.4 spec/unit/berkshelf/config_spec.rb
berkshelf-3.1.3 spec/unit/berkshelf/config_spec.rb
berkshelf-3.1.2 spec/unit/berkshelf/config_spec.rb
berkshelf-3.1.1 spec/unit/berkshelf/config_spec.rb
berkshelf-3.1.0 spec/unit/berkshelf/config_spec.rb
berkshelf-3.0.1 spec/unit/berkshelf/config_spec.rb
berkshelf-3.0.0 spec/unit/berkshelf/config_spec.rb
berkshelf-3.0.0.rc1 spec/unit/berkshelf/config_spec.rb
berkshelf-3.0.0.beta9 spec/unit/berkshelf/config_spec.rb
berkshelf-3.0.0.beta8 spec/unit/berkshelf/config_spec.rb
berkshelf-3.0.0.beta7 spec/unit/berkshelf/config_spec.rb
berkshelf-3.0.0.beta6 spec/unit/berkshelf/config_spec.rb
berkshelf-3.0.0.beta5 spec/unit/berkshelf/config_spec.rb