Update TestCreateComment to check referenced issue

This commit is contained in:
Keith Rutkowski 2018-04-07 11:17:20 -04:00
parent 3b0c1240a5
commit e3ef3b5c7d

View File

@ -14,9 +14,27 @@ import (
func TestCreateComment(t *testing.T) {
assert.NoError(t, PrepareTestDatabase())
issue := AssertExistsAndLoadBean(t, &Issue{}).(*Issue)
repo := AssertExistsAndLoadBean(t, &Repository{ID: issue.RepoID}).(*Repository)
doer := AssertExistsAndLoadBean(t, &User{ID: repo.OwnerID}).(*User)
doer := AssertExistsAndLoadBean(t, &User{ID: 2}).(*User)
repo := AssertExistsAndLoadBean(t, &Repository{ID: 1}).(*Repository)
repo.Owner = doer
issue := AssertExistsAndLoadBean(t, &Issue{RepoID: repo.ID, Index: 1}).(*Issue)
refIssue := AssertExistsAndLoadBean(t, &Issue{RepoID: repo.ID, Index: 2}).(*Issue)
commentBean := []*Comment{
{
Type: CommentTypeCommentRef,
PosterID: doer.ID,
IssueID: issue.ID,
},
{
Type: CommentTypeCommentRef,
PosterID: doer.ID,
IssueID: refIssue.ID,
},
}
AssertNotExistsBean(t, commentBean[0])
AssertNotExistsBean(t, commentBean[1])
now := time.Now().Unix()
comment, err := CreateComment(&CreateCommentOptions{
@ -24,18 +42,26 @@ func TestCreateComment(t *testing.T) {
Doer: doer,
Repo: repo,
Issue: issue,
Content: "Hello",
Content: "Hello, this comment references issue #2",
})
assert.NoError(t, err)
then := time.Now().Unix()
assert.EqualValues(t, CommentTypeComment, comment.Type)
assert.EqualValues(t, "Hello", comment.Content)
assert.EqualValues(t, "Hello, this comment references issue #2", comment.Content)
assert.EqualValues(t, issue.ID, comment.IssueID)
assert.EqualValues(t, doer.ID, comment.PosterID)
AssertInt64InRange(t, now, then, int64(comment.CreatedUnix))
AssertExistsAndLoadBean(t, comment) // assert actually added to DB
AssertNotExistsBean(t, commentBean[0])
AssertExistsAndLoadBean(t, commentBean[1])
updatedIssue := AssertExistsAndLoadBean(t, &Issue{ID: issue.ID}).(*Issue)
AssertInt64InRange(t, now, then, int64(updatedIssue.UpdatedUnix))
err = commentBean[1].LoadReference()
assert.NoError(t, err)
if assert.NotNil(t, commentBean[1].RefIssue) {
assert.EqualValues(t, issue.ID, commentBean[1].RefIssue.ID)
}
}