Платформа ЦРНП "Мирокод" для разработки проектов
https://git.mirocod.ru
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
252 lines
4.7 KiB
252 lines
4.7 KiB
// 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) |
|
} |
|
}
|
|
|