1package bug
2
3import (
4 "testing"
5 "time"
6
7 "github.com/MichaelMure/git-bug/identity"
8 "github.com/go-test/deep"
9)
10
11func TestCreate(t *testing.T) {
12 snapshot := Snapshot{}
13
14 var rene = identity.NewIdentity("René Descartes", "rene@descartes.fr")
15
16 unix := time.Now().Unix()
17
18 create := NewCreateOp(rene, unix, "title", "message", nil)
19
20 create.Apply(&snapshot)
21
22 hash, err := create.Hash()
23 if err != nil {
24 t.Fatal(err)
25 }
26
27 comment := Comment{Author: rene, Message: "message", UnixTime: Timestamp(create.UnixTime)}
28
29 expected := Snapshot{
30 Title: "title",
31 Comments: []Comment{
32 comment,
33 },
34 Author: rene,
35 CreatedAt: create.Time(),
36 Timeline: []TimelineItem{
37 &CreateTimelineItem{
38 CommentTimelineItem: NewCommentTimelineItem(hash, comment),
39 },
40 },
41 }
42
43 deep.CompareUnexportedFields = true
44 if diff := deep.Equal(snapshot, expected); diff != nil {
45 t.Fatal(diff)
46 }
47}