6
0
mirror of https://github.com/grdl/git-get.git synced 2026-02-04 22:04:41 +00:00
Files
git-get/pkg/repo_test.go
Grzegorz Dlugoszewski 91cf26ef27 Refactor Repo code and tests
- Add Repo as a separate type
- Merge together repo status and branches status
- Load status on repo opening
2020-05-20 14:44:59 +02:00

46 lines
1.1 KiB
Go

package pkg
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
dir := newTempDir(t)
err := CloneRepo(origin.Path(), dir)
checkFatal(t, err)
// Open cloned repo and load its status
repo, err := OpenRepo(dir)
checkFatal(t, err)
// Check cloned status. It should not be behind origin
if repo.Status.Branches["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 = repo.Fetch()
checkFatal(t, err)
err = repo.Reload()
checkFatal(t, err)
// Cloned master should now be 1 commit behind origin
if repo.Status.Branches["master"].Behind != 1 {
t.Errorf("Master should be 1 commit behind")
}
if repo.Status.Branches["master"].Ahead != 0 {
t.Errorf("Master should not be ahead")
}
}