Sha256: 8ab9b40e5c82b87c74f35c3d7c6a221049045d91dd6eb05eef50272cdd735062

Contents?: true

Size: 1.37 KB

Versions: 4

Compression:

Stored size: 1.37 KB

Contents

require 'spec_helper'

describe Gitstagram::GitDir do
  before do
    @dir = Gitstagram::GitDir.new('.')
  end

  describe "#is_git_directory?" do
    context 'folder contains a .git directory' do
      before do
        stub(Dir).entries { ['.git'] }
      end

      it 'should return true' do
        @dir.is_git_dir?.should be_true
      end
    end

    context 'folder does not contain a .git directory' do
      before do
        stub(Dir).entries { ['hello', 'world'] }
      end

      it 'should return false' do
        @dir.is_git_dir?.should be_false
      end
    end
  end

  describe "#has_post_commit_hook" do
    context "hooks folder contains a post-commit file" do
      before do
        stub(Dir).entries { ['post-commit', 'pre-commit.sample'] }
      end

      it "should return true" do
        @dir.has_post_commit_hook?.should be_true
      end

    end

    context "hooks folder does not contain a post-commit file" do
      before do
        stub(Dir).entries { ['post-commit.sample', 'pre-commit.sample'] }
      end

      it "should return true" do
        @dir.has_post_commit_hook?.should be_false
      end
    end
  end

  describe "#delete_post_commit" do
    before do
      stub(File).exists? { true }
      mock(File).delete("./.git/hooks/post-commit")
    end

    it "should delete the post-commit file" do
      @dir.delete_post_commit
    end
  end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
gitstagram-0.0.5 spec/git_dir_spec.rb
gitstagram-0.0.4 spec/git_dir_spec.rb
gitstagram-0.0.3 spec/git_dir_spec.rb
gitstagram-0.0.2 spec/git_dir_spec.rb