Sha256: 0f32809400a150ff70421afd553436ac163186a7f5eefe7c3ea11227d7a1a2b2

Contents?: true

Size: 1.27 KB

Versions: 2

Compression:

Stored size: 1.27 KB

Contents

require File.expand_path(File.dirname(__FILE__) + '/spec_helper')

describe GitModel do

  describe ".last_commit" do
    it "returns nil if there are no commits" do
      GitModel.last_commit.should == nil
    end

    it "returns the most recent commit on a branch" do
      index = Grit::Index.new(GitModel.repo)
      head = GitModel.repo.commits.first
      index.read_tree head.to_s
      index.add "foo", "foo"
      sha = index.commit nil, nil, nil, nil, 'master'
            
      GitModel.last_commit.to_s.should == sha
    end
  end

  describe ".current_tree" do
    it "returns nil if there are no commits" do
      GitModel.current_tree.should == nil
    end

    it "returns the tree for the most recent commit on a branch" do
      last_commit = mock('last_commit')
      last_commit.should_receive(:tree).and_return("yay, a tree!")
      GitModel.should_receive(:last_commit).with('master').and_return(last_commit)
      GitModel.current_tree('master')
    end
  end

  describe ".index" do
    before(:each) do
      TestEntity.create!(:id => "foo")
      TestEntity2.create!(:id => "bar")
    end

    it "calls index! on each Persistable model class" do
      TestEntity.should_receive(:index!)
      TestEntity2.should_receive(:index!)
      GitModel.index!
    end
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
gitmodel-0.0.4 spec/gitmodel_spec.rb
gitmodel-0.0.3 spec/gitmodel_spec.rb