diff options
Diffstat (limited to 'bug/op_create_test.go')
-rw-r--r-- | bug/op_create_test.go | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/bug/op_create_test.go b/bug/op_create_test.go new file mode 100644 index 00000000..f27f6ee0 --- /dev/null +++ b/bug/op_create_test.go @@ -0,0 +1,47 @@ +package bug + +import ( + "testing" + "time" + + "github.com/go-test/deep" +) + +func TestCreate(t *testing.T) { + snapshot := Snapshot{} + + var rene = Person{ + Name: "René Descartes", + Email: "rene@descartes.fr", + } + + unix := time.Now().Unix() + + create := NewCreateOp(rene, unix, "title", "message", nil) + + create.Apply(&snapshot) + + hash, err := create.Hash() + if err != nil { + t.Fatal(err) + } + + comment := Comment{Author: rene, Message: "message", UnixTime: Timestamp(create.UnixTime)} + + expected := Snapshot{ + Title: "title", + Comments: []Comment{ + comment, + }, + Author: rene, + CreatedAt: create.Time(), + Timeline: []TimelineItem{ + NewCreateTimelineItem(hash, comment), + }, + } + + deep.CompareUnexportedFields = true + if diff := deep.Equal(snapshot, expected); diff != nil { + t.Fatal(diff) + } +} |