mirror of
https://github.com/MichaelMure/git-bug.git
synced 2024-12-15 02:01:43 +03:00
bug: fix tests
This commit is contained in:
parent
d96284da64
commit
fcf43915e1
@ -54,6 +54,13 @@ func (op *CreateOperation) SetMetadata(key string, value string) {
|
||||
}
|
||||
|
||||
func (op *CreateOperation) Apply(snapshot *Snapshot) {
|
||||
// sanity check: will fail when adding a second Create
|
||||
if snapshot.id != "" && snapshot.id != entity.UnsetId && snapshot.id != op.Id() {
|
||||
panic("adding a second Create operation")
|
||||
}
|
||||
|
||||
snapshot.id = op.Id()
|
||||
|
||||
snapshot.addActor(op.Author)
|
||||
snapshot.addParticipant(op.Author)
|
||||
|
||||
|
@ -29,14 +29,17 @@ func TestCreate(t *testing.T) {
|
||||
id := create.Id()
|
||||
require.NoError(t, id.Validate())
|
||||
|
||||
commentId := DeriveCommentId(create.Id(), create.Id())
|
||||
|
||||
comment := Comment{
|
||||
id: id,
|
||||
id: commentId,
|
||||
Author: rene,
|
||||
Message: "message",
|
||||
UnixTime: timestamp.Timestamp(create.UnixTime),
|
||||
}
|
||||
|
||||
expected := Snapshot{
|
||||
id: create.Id(),
|
||||
Title: "title",
|
||||
Comments: []Comment{
|
||||
comment,
|
||||
@ -47,7 +50,7 @@ func TestCreate(t *testing.T) {
|
||||
CreateTime: create.Time(),
|
||||
Timeline: []TimelineItem{
|
||||
&CreateTimelineItem{
|
||||
CommentTimelineItem: NewCommentTimelineItem(id, comment),
|
||||
CommentTimelineItem: NewCommentTimelineItem(commentId, comment),
|
||||
},
|
||||
},
|
||||
}
|
||||
|
@ -43,35 +43,35 @@ func TestEdit(t *testing.T) {
|
||||
id3 := comment2.Id()
|
||||
require.NoError(t, id3.Validate())
|
||||
|
||||
edit := NewEditCommentOp(rene, unix, id1, "create edited", nil)
|
||||
edit := NewEditCommentOp(rene, unix, snapshot.Comments[0].Id(), "create edited", nil)
|
||||
edit.Apply(&snapshot)
|
||||
|
||||
require.Equal(t, len(snapshot.Timeline), 4)
|
||||
require.Equal(t, len(snapshot.Timeline[0].(*CreateTimelineItem).History), 2)
|
||||
require.Equal(t, len(snapshot.Timeline[1].(*AddCommentTimelineItem).History), 1)
|
||||
require.Equal(t, len(snapshot.Timeline[3].(*AddCommentTimelineItem).History), 1)
|
||||
require.Len(t, snapshot.Timeline, 4)
|
||||
require.Len(t, snapshot.Timeline[0].(*CreateTimelineItem).History, 2)
|
||||
require.Len(t, snapshot.Timeline[1].(*AddCommentTimelineItem).History, 1)
|
||||
require.Len(t, snapshot.Timeline[3].(*AddCommentTimelineItem).History, 1)
|
||||
require.Equal(t, snapshot.Comments[0].Message, "create edited")
|
||||
require.Equal(t, snapshot.Comments[1].Message, "comment 1")
|
||||
require.Equal(t, snapshot.Comments[2].Message, "comment 2")
|
||||
|
||||
edit2 := NewEditCommentOp(rene, unix, id2, "comment 1 edited", nil)
|
||||
edit2 := NewEditCommentOp(rene, unix, snapshot.Comments[1].Id(), "comment 1 edited", nil)
|
||||
edit2.Apply(&snapshot)
|
||||
|
||||
require.Equal(t, len(snapshot.Timeline), 4)
|
||||
require.Equal(t, len(snapshot.Timeline[0].(*CreateTimelineItem).History), 2)
|
||||
require.Equal(t, len(snapshot.Timeline[1].(*AddCommentTimelineItem).History), 2)
|
||||
require.Equal(t, len(snapshot.Timeline[3].(*AddCommentTimelineItem).History), 1)
|
||||
require.Len(t, snapshot.Timeline, 4)
|
||||
require.Len(t, snapshot.Timeline[0].(*CreateTimelineItem).History, 2)
|
||||
require.Len(t, snapshot.Timeline[1].(*AddCommentTimelineItem).History, 2)
|
||||
require.Len(t, snapshot.Timeline[3].(*AddCommentTimelineItem).History, 1)
|
||||
require.Equal(t, snapshot.Comments[0].Message, "create edited")
|
||||
require.Equal(t, snapshot.Comments[1].Message, "comment 1 edited")
|
||||
require.Equal(t, snapshot.Comments[2].Message, "comment 2")
|
||||
|
||||
edit3 := NewEditCommentOp(rene, unix, id3, "comment 2 edited", nil)
|
||||
edit3 := NewEditCommentOp(rene, unix, snapshot.Comments[2].Id(), "comment 2 edited", nil)
|
||||
edit3.Apply(&snapshot)
|
||||
|
||||
require.Equal(t, len(snapshot.Timeline), 4)
|
||||
require.Equal(t, len(snapshot.Timeline[0].(*CreateTimelineItem).History), 2)
|
||||
require.Equal(t, len(snapshot.Timeline[1].(*AddCommentTimelineItem).History), 2)
|
||||
require.Equal(t, len(snapshot.Timeline[3].(*AddCommentTimelineItem).History), 2)
|
||||
require.Len(t, snapshot.Timeline, 4)
|
||||
require.Len(t, snapshot.Timeline[0].(*CreateTimelineItem).History, 2)
|
||||
require.Len(t, snapshot.Timeline[1].(*AddCommentTimelineItem).History, 2)
|
||||
require.Len(t, snapshot.Timeline[3].(*AddCommentTimelineItem).History, 2)
|
||||
require.Equal(t, snapshot.Comments[0].Message, "create edited")
|
||||
require.Equal(t, snapshot.Comments[1].Message, "comment 1 edited")
|
||||
require.Equal(t, snapshot.Comments[2].Message, "comment 2 edited")
|
||||
|
@ -46,14 +46,14 @@ func TestSetMetadata(t *testing.T) {
|
||||
snapshot.Operations = append(snapshot.Operations, op1)
|
||||
|
||||
createMetadata := snapshot.Operations[0].AllMetadata()
|
||||
require.Equal(t, len(createMetadata), 2)
|
||||
require.Len(t, createMetadata, 2)
|
||||
// original key is not overrided
|
||||
require.Equal(t, createMetadata["key"], "value")
|
||||
// new key is set
|
||||
require.Equal(t, createMetadata["key2"], "value")
|
||||
|
||||
commentMetadata := snapshot.Operations[1].AllMetadata()
|
||||
require.Equal(t, len(commentMetadata), 1)
|
||||
require.Len(t, commentMetadata, 1)
|
||||
require.Equal(t, commentMetadata["key2"], "value2")
|
||||
|
||||
op2 := NewSetMetadataOp(rene, unix, id2, map[string]string{
|
||||
@ -65,12 +65,12 @@ func TestSetMetadata(t *testing.T) {
|
||||
snapshot.Operations = append(snapshot.Operations, op2)
|
||||
|
||||
createMetadata = snapshot.Operations[0].AllMetadata()
|
||||
require.Equal(t, len(createMetadata), 2)
|
||||
require.Len(t, createMetadata, 2)
|
||||
require.Equal(t, createMetadata["key"], "value")
|
||||
require.Equal(t, createMetadata["key2"], "value")
|
||||
|
||||
commentMetadata = snapshot.Operations[1].AllMetadata()
|
||||
require.Equal(t, len(commentMetadata), 2)
|
||||
require.Len(t, commentMetadata, 2)
|
||||
// original key is not overrided
|
||||
require.Equal(t, commentMetadata["key2"], "value2")
|
||||
// new key is set
|
||||
@ -85,14 +85,14 @@ func TestSetMetadata(t *testing.T) {
|
||||
snapshot.Operations = append(snapshot.Operations, op3)
|
||||
|
||||
createMetadata = snapshot.Operations[0].AllMetadata()
|
||||
require.Equal(t, len(createMetadata), 2)
|
||||
require.Len(t, createMetadata, 2)
|
||||
// original key is not overrided
|
||||
require.Equal(t, createMetadata["key"], "value")
|
||||
// previously set key is not overrided
|
||||
require.Equal(t, createMetadata["key2"], "value")
|
||||
|
||||
commentMetadata = snapshot.Operations[1].AllMetadata()
|
||||
require.Equal(t, len(commentMetadata), 2)
|
||||
require.Len(t, commentMetadata, 2)
|
||||
require.Equal(t, commentMetadata["key2"], "value2")
|
||||
require.Equal(t, commentMetadata["key3"], "value3")
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user