aboutsummaryrefslogtreecommitdiffstats
path: root/bug/op_create_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'bug/op_create_test.go')
-rw-r--r--bug/op_create_test.go47
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)
+ }
+}