6
0
mirror of https://github.com/grdl/git-get.git synced 2026-02-04 22:04:41 +00:00
Files
git-get/repo_test.go
2020-05-19 21:25:06 +02:00

43 lines
1.1 KiB
Go

package main
import "testing"
func TestFetch(t *testing.T) {
// Create origin repo with a single commit in master
origin := newTestRepo(t)
createFile(t, origin, "file")
stageFile(t, origin, "file")
createCommit(t, origin, "Initial commit")
// Clone the origin repo
repo, err := CloneRepo(origin.Path(), newTempDir(t))
checkFatal(t, err)
// Check cloned status. It should not be behind origin
status, err := NewRepoStatus(repo.Workdir())
checkFatal(t, err)
if status.BranchStatuses["master"].Behind != 0 {
t.Errorf("Master should not be behind")
}
// Add another commit to origin
createFile(t, origin, "anotherFile")
stageFile(t, origin, "anotherFile")
createCommit(t, origin, "Second commit")
// Fetch cloned repo and check the status again
err = Fetch(repo)
status, err = NewRepoStatus(repo.Workdir())
checkFatal(t, err)
// Cloned master should now be 1 commit behind origin
if status.BranchStatuses["master"].Behind != 1 {
t.Errorf("Master should be 1 commit behind")
}
if status.BranchStatuses["master"].Ahead != 0 {
t.Errorf("Master should not be ahead")
}
}