mirror of
https://github.com/MichaelMure/git-bug.git
synced 2024-12-14 08:45:30 +03:00
implement AddComment
This commit is contained in:
parent
35d64e4f9e
commit
55aef8c387
30
bug/operations/add_comment.go
Normal file
30
bug/operations/add_comment.go
Normal file
@ -0,0 +1,30 @@
|
||||
package operations
|
||||
|
||||
import "github.com/MichaelMure/git-bug/bug"
|
||||
|
||||
var _ bug.Operation = AddCommentOperation{}
|
||||
|
||||
type AddCommentOperation struct {
|
||||
bug.OpBase
|
||||
Message string `json:"m"`
|
||||
Author bug.Person `json:"a"`
|
||||
}
|
||||
|
||||
func NewAddCommentOp(author bug.Person, message string) AddCommentOperation {
|
||||
return AddCommentOperation{
|
||||
OpBase: bug.OpBase{OperationType: bug.ADD_COMMENT},
|
||||
Message: message,
|
||||
Author: author,
|
||||
}
|
||||
}
|
||||
|
||||
func (op AddCommentOperation) Apply(snapshot bug.Snapshot) bug.Snapshot {
|
||||
comment := bug.Comment{
|
||||
Message: op.Message,
|
||||
Author: op.Author,
|
||||
}
|
||||
|
||||
snapshot.Comments = append(snapshot.Comments, comment)
|
||||
|
||||
return snapshot
|
||||
}
|
@ -25,10 +25,6 @@ func NewCreateOp(author bug.Person, title, message string) CreateOperation {
|
||||
}
|
||||
}
|
||||
|
||||
//func (op CreateOperation) OpType() bug.OperationType {
|
||||
// return bug.CREATE
|
||||
//}
|
||||
|
||||
func (op CreateOperation) Apply(snapshot bug.Snapshot) bug.Snapshot {
|
||||
empty := bug.Snapshot{}
|
||||
|
||||
|
@ -12,10 +12,6 @@ import (
|
||||
"strings"
|
||||
)
|
||||
|
||||
// This is used to have a different staging area than the regular git index
|
||||
// when creating data in git
|
||||
const gitEnvConfig = "GIT_INDEX_FILE=BUG_STAGING_INDEX"
|
||||
|
||||
// GitRepo represents an instance of a (local) git repository.
|
||||
type GitRepo struct {
|
||||
Path string
|
||||
@ -29,8 +25,6 @@ func (repo *GitRepo) runGitCommandWithIO(stdin io.Reader, stdout, stderr io.Writ
|
||||
cmd.Stdout = stdout
|
||||
cmd.Stderr = stderr
|
||||
|
||||
//cmd.Env = append(cmd.Env, gitEnvConfig)
|
||||
|
||||
return cmd.Run()
|
||||
}
|
||||
|
||||
|
@ -13,9 +13,10 @@ var (
|
||||
Email: "rene@descartes.fr",
|
||||
}
|
||||
|
||||
createOp = operations.NewCreateOp(rene, "title", "message")
|
||||
setTitleOp = operations.NewSetTitleOp("title2")
|
||||
mockRepo = repository.NewMockRepoForTest()
|
||||
createOp = operations.NewCreateOp(rene, "title", "message")
|
||||
setTitleOp = operations.NewSetTitleOp("title2")
|
||||
addCommentOp = operations.NewAddCommentOp(rene, "message2")
|
||||
mockRepo = repository.NewMockRepoForTest()
|
||||
)
|
||||
|
||||
func TestOpIterator(t *testing.T) {
|
||||
|
@ -13,6 +13,7 @@ func TestOperationPackSerialize(t *testing.T) {
|
||||
|
||||
opp.Append(createOp)
|
||||
opp.Append(setTitleOp)
|
||||
opp.Append(addCommentOp)
|
||||
|
||||
jsonBytes, err := opp.Serialize()
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user