|
- // Copyright 2020 The Gitea Authors. All rights reserved.
- // Use of this source code is governed by a MIT-style
- // license that can be found in the LICENSE file.
-
- package repo
-
- import (
- "testing"
-
- "code.gitea.io/gitea/models"
- "github.com/stretchr/testify/assert"
- )
-
- func TestCombineLabelComments(t *testing.T) {
- var kases = []struct {
- beforeCombined []*models.Comment
- afterCombined []*models.Comment
- }{
- {
- beforeCombined: []*models.Comment{
- {
- Type: models.CommentTypeLabel,
- PosterID: 1,
- Content: "1",
- Label: &models.Label{
- Name: "kind/bug",
- },
- CreatedUnix: 0,
- },
- {
- Type: models.CommentTypeLabel,
- PosterID: 1,
- Content: "",
- Label: &models.Label{
- Name: "kind/bug",
- },
- CreatedUnix: 0,
- },
- {
- Type: models.CommentTypeComment,
- PosterID: 1,
- Content: "test",
- CreatedUnix: 0,
- },
- },
- afterCombined: []*models.Comment{
- {
- Type: models.CommentTypeLabel,
- PosterID: 1,
- Content: "1",
- CreatedUnix: 0,
- AddedLabels: []*models.Label{
- {
- Name: "kind/bug",
- },
- },
- RemovedLabels: []*models.Label{
- {
- Name: "kind/bug",
- },
- },
- Label: &models.Label{
- Name: "kind/bug",
- },
- },
- {
- Type: models.CommentTypeComment,
- PosterID: 1,
- Content: "test",
- CreatedUnix: 0,
- },
- },
- },
- {
- beforeCombined: []*models.Comment{
- {
- Type: models.CommentTypeLabel,
- PosterID: 1,
- Content: "1",
- Label: &models.Label{
- Name: "kind/bug",
- },
- CreatedUnix: 0,
- },
- {
- Type: models.CommentTypeLabel,
- PosterID: 1,
- Content: "",
- Label: &models.Label{
- Name: "kind/bug",
- },
- CreatedUnix: 70,
- },
- {
- Type: models.CommentTypeComment,
- PosterID: 1,
- Content: "test",
- CreatedUnix: 0,
- },
- },
- afterCombined: []*models.Comment{
- {
- Type: models.CommentTypeLabel,
- PosterID: 1,
- Content: "1",
- CreatedUnix: 0,
- AddedLabels: []*models.Label{
- {
- Name: "kind/bug",
- },
- },
- Label: &models.Label{
- Name: "kind/bug",
- },
- },
- {
- Type: models.CommentTypeLabel,
- PosterID: 1,
- Content: "",
- CreatedUnix: 70,
- RemovedLabels: []*models.Label{
- {
- Name: "kind/bug",
- },
- },
- Label: &models.Label{
- Name: "kind/bug",
- },
- },
- {
- Type: models.CommentTypeComment,
- PosterID: 1,
- Content: "test",
- CreatedUnix: 0,
- },
- },
- },
- {
- beforeCombined: []*models.Comment{
- {
- Type: models.CommentTypeLabel,
- PosterID: 1,
- Content: "1",
- Label: &models.Label{
- Name: "kind/bug",
- },
- CreatedUnix: 0,
- },
- {
- Type: models.CommentTypeLabel,
- PosterID: 2,
- Content: "",
- Label: &models.Label{
- Name: "kind/bug",
- },
- CreatedUnix: 0,
- },
- {
- Type: models.CommentTypeComment,
- PosterID: 1,
- Content: "test",
- CreatedUnix: 0,
- },
- },
- afterCombined: []*models.Comment{
- {
- Type: models.CommentTypeLabel,
- PosterID: 1,
- Content: "1",
- CreatedUnix: 0,
- AddedLabels: []*models.Label{
- {
- Name: "kind/bug",
- },
- },
- Label: &models.Label{
- Name: "kind/bug",
- },
- },
- {
- Type: models.CommentTypeLabel,
- PosterID: 2,
- Content: "",
- CreatedUnix: 0,
- RemovedLabels: []*models.Label{
- {
- Name: "kind/bug",
- },
- },
- Label: &models.Label{
- Name: "kind/bug",
- },
- },
- {
- Type: models.CommentTypeComment,
- PosterID: 1,
- Content: "test",
- CreatedUnix: 0,
- },
- },
- },
- {
- beforeCombined: []*models.Comment{
- {
- Type: models.CommentTypeLabel,
- PosterID: 1,
- Content: "1",
- Label: &models.Label{
- Name: "kind/bug",
- },
- CreatedUnix: 0,
- },
- {
- Type: models.CommentTypeLabel,
- PosterID: 1,
- Content: "1",
- Label: &models.Label{
- Name: "kind/backport",
- },
- CreatedUnix: 10,
- },
- },
- afterCombined: []*models.Comment{
- {
- Type: models.CommentTypeLabel,
- PosterID: 1,
- Content: "1",
- CreatedUnix: 10,
- AddedLabels: []*models.Label{
- {
- Name: "kind/bug",
- },
- {
- Name: "kind/backport",
- },
- },
- Label: &models.Label{
- Name: "kind/bug",
- },
- },
- },
- },
- }
-
- for _, kase := range kases {
- var issue = models.Issue{
- Comments: kase.beforeCombined,
- }
- combineLabelComments(&issue)
- assert.EqualValues(t, kase.afterCombined, issue.Comments)
- }
- }
|