MCPcopy Create free account
hub / github.com/git-bug/git-bug / TestEdit

Function TestEdit

entities/bug/op_edit_comment_test.go:15–76  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

13)
14
15func TestEdit(t *testing.T) {
16 snapshot := Snapshot{}
17
18 repo := repository.NewMockRepo()
19
20 rene, err := identity.NewIdentity(repo, "René Descartes", "rene@descartes.fr")
21 require.NoError(t, err)
22
23 unix := time.Now().Unix()
24
25 create := NewCreateOp(rene, unix, "title", "create", nil)
26 create.Apply(&snapshot)
27
28 require.NoError(t, create.Id().Validate())
29
30 comment1 := NewAddCommentOp(rene, unix, "comment 1", nil)
31 comment1.Apply(&snapshot)
32
33 require.NoError(t, comment1.Id().Validate())
34
35 // add another unrelated op in between
36 setTitle := NewSetTitleOp(rene, unix, "edited title", "title")
37 setTitle.Apply(&snapshot)
38
39 comment2 := NewAddCommentOp(rene, unix, "comment 2", nil)
40 comment2.Apply(&snapshot)
41
42 require.NoError(t, comment2.Id().Validate())
43
44 edit := NewEditCommentOp(rene, unix, create.Id(), "create edited", nil)
45 edit.Apply(&snapshot)
46
47 require.Len(t, snapshot.Timeline, 4)
48 require.Len(t, snapshot.Timeline[0].(*CreateTimelineItem).History, 2)
49 require.Len(t, snapshot.Timeline[1].(*AddCommentTimelineItem).History, 1)
50 require.Len(t, snapshot.Timeline[3].(*AddCommentTimelineItem).History, 1)
51 require.Equal(t, snapshot.Comments[0].Message, "create edited")
52 require.Equal(t, snapshot.Comments[1].Message, "comment 1")
53 require.Equal(t, snapshot.Comments[2].Message, "comment 2")
54
55 edit2 := NewEditCommentOp(rene, unix, comment1.Id(), "comment 1 edited", nil)
56 edit2.Apply(&snapshot)
57
58 require.Len(t, snapshot.Timeline, 4)
59 require.Len(t, snapshot.Timeline[0].(*CreateTimelineItem).History, 2)
60 require.Len(t, snapshot.Timeline[1].(*AddCommentTimelineItem).History, 2)
61 require.Len(t, snapshot.Timeline[3].(*AddCommentTimelineItem).History, 1)
62 require.Equal(t, snapshot.Comments[0].Message, "create edited")
63 require.Equal(t, snapshot.Comments[1].Message, "comment 1 edited")
64 require.Equal(t, snapshot.Comments[2].Message, "comment 2")
65
66 edit3 := NewEditCommentOp(rene, unix, comment2.Id(), "comment 2 edited", nil)
67 edit3.Apply(&snapshot)
68
69 require.Len(t, snapshot.Timeline, 4)
70 require.Len(t, snapshot.Timeline[0].(*CreateTimelineItem).History, 2)
71 require.Len(t, snapshot.Timeline[1].(*AddCommentTimelineItem).History, 2)
72 require.Len(t, snapshot.Timeline[3].(*AddCommentTimelineItem).History, 2)

Callers

nothing calls this directly

Calls 10

NewMockRepoFunction · 0.92
NewIdentityFunction · 0.92
NewCreateOpFunction · 0.85
NewAddCommentOpFunction · 0.85
NewSetTitleOpFunction · 0.85
NewEditCommentOpFunction · 0.85
ApplyMethod · 0.65
ValidateMethod · 0.65
IdMethod · 0.65
LenMethod · 0.45

Tested by

no test coverage detected