bug_test.go

 1package tests
 2
 3import (
 4	"github.com/MichaelMure/git-bug/bug"
 5	"testing"
 6)
 7
 8func TestBugId(t *testing.T) {
 9	bug1, err := bug.NewBug()
10	if err != nil {
11		t.Error(err)
12	}
13
14	bug1.Append(createOp)
15
16	err = bug1.Commit(mockRepo)
17
18	if err != nil {
19		t.Fatal(err)
20	}
21
22	bug1.Id()
23}
24
25func TestBugValidity(t *testing.T) {
26	bug1, err := bug.NewBug()
27	if err != nil {
28		t.Error(err)
29	}
30
31	if bug1.IsValid() {
32		t.Fatal("Empty bug should be invalid")
33	}
34
35	bug1.Append(createOp)
36
37	if !bug1.IsValid() {
38		t.Fatal("Bug with just a CreateOp should be valid")
39	}
40
41	bug1.Append(createOp)
42
43	if bug1.IsValid() {
44		t.Fatal("Bug with multiple CreateOp should be invalid")
45	}
46
47	err = bug1.Commit(mockRepo)
48
49	if err != nil {
50		t.Fatal(err)
51	}
52
53	if bug1.IsValid() {
54		t.Fatal("Bug with multiple CreateOp should be invalid")
55	}
56}
57
58//func TestBugSerialisation(t *testing.T) {
59//	bug1, err := bug.NewBug()
60//	if err != nil {
61//		t.Error(err)
62//	}
63//
64//	bug1.Append(createOp)
65//	bug1.Append(setTitleOp)
66//	bug1.Append(setTitleOp)
67//	bug1.Append(addCommentOp)
68//
69//	repo := repository.NewMockRepoForTest()
70//
71//	bug1.Commit(repo)
72//
73//	bug2, err := bug.ReadBug(repo, bug.BugsRefPattern+bug1.Id())
74//	if err != nil {
75//		t.Error(err)
76//	}
77//
78//	if !reflect.DeepEqual(bug1, bug2) {
79//		t.Fatalf("%v different than %v", bug1, bug2)
80//	}
81//}