git-bug/tests/bug_test.go

82 lines
1.4 KiB
Go

package tests
import (
"github.com/MichaelMure/git-bug/bug"
"github.com/MichaelMure/git-bug/repository"
"testing"
)
func TestBugId(t *testing.T) {
mockRepo := repository.NewMockRepoForTest()
bug1 := bug.NewBug()
bug1.Append(createOp)
err := bug1.Commit(mockRepo)
if err != nil {
t.Fatal(err)
}
bug1.Id()
}
func TestBugValidity(t *testing.T) {
mockRepo := repository.NewMockRepoForTest()
bug1 := bug.NewBug()
if bug1.Validate() == nil {
t.Fatal("Empty bug should be invalid")
}
bug1.Append(createOp)
if bug1.Validate() != nil {
t.Fatal("Bug with just a CreateOp should be valid")
}
err := bug1.Commit(mockRepo)
if err != nil {
t.Fatal(err)
}
bug1.Append(createOp)
if bug1.Validate() == nil {
t.Fatal("Bug with multiple CreateOp should be invalid")
}
err = bug1.Commit(mockRepo)
if err == nil {
t.Fatal("Invalid bug should not commit")
}
}
//func TestBugSerialisation(t *testing.T) {
// bug1, err := bug.NewBug()
// if err != nil {
// t.Error(err)
// }
//
// bug1.Append(createOp)
// bug1.Append(setTitleOp)
// bug1.Append(setTitleOp)
// bug1.Append(addCommentOp)
//
// repo := repository.NewMockRepoForTest()
//
// bug1.Commit(repo)
//
// bug2, err := bug.ReadBug(repo, bug.BugsRefPattern+bug1.Id())
// if err != nil {
// t.Error(err)
// }
//
// if !reflect.DeepEqual(bug1, bug2) {
// t.Fatalf("%v different than %v", bug1, bug2)
// }
//}