Sha256: a3479fe8721445a56035c0c4592bb6633f22f2458349ad9e6ac4c9e5ffd40a9d

Contents?: true

Size: 1.01 KB

Versions: 2

Compression:

Stored size: 1.01 KB

Contents

require 'spec_helper'

describe Travis::Keychain do
  let(:shell)    { stub('shell', :say => nil, :error => nil) }
  let(:keychain) { Travis::Keychain.new('hub', shell) }

  before :each do
    keychain.stubs(:system).returns(true)
    keychain.stubs(:`)
    keychain.stubs(:clean?).returns(true)
    File.stubs(:read)
  end

  def fetch
    capture_stdout do
      keychain.fetch
    end
  end

  describe 'fetch' do
    it 'changes to the keychain directory' do
      Dir.expects(:chdir).with { |path| path =~ %r(/travis-keychain$) }
      fetch
    end

    it 'errors if the working directory is dirty' do
      keychain.stubs(:clean?).returns(false)
      keychain.expects(:error).with('There are unstaged changes in your travis-keychain working directory.')
      fetch
    end

    it 'pulls changes from origin' do
      keychain.expects(:run).with('git pull')
      fetch
    end

    it 'reads the configuration' do
      File.expects(:read).with { |path| path =~ %r(config/travis.hub.yml$) }
      fetch
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
travis-cli-0.0.2 spec/travis/keychain_spec.rb
travis-cli-0.0.1 spec/travis/keychain_spec.rb