git-bug/bug/op_create_test.go
2018-09-30 17:15:54 +02:00

50 lines
858 B
Go

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{
&CreateTimelineItem{
CommentTimelineItem: NewCommentTimelineItem(hash, comment),
},
},
}
deep.CompareUnexportedFields = true
if diff := deep.Equal(snapshot, expected); diff != nil {
t.Fatal(diff)
}
}