2020-11-21 01:29:09 +03:00
// 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"
2022-06-13 12:37:59 +03:00
issues_model "code.gitea.io/gitea/models/issues"
2021-11-17 15:34:35 +03:00
2020-11-21 01:29:09 +03:00
"github.com/stretchr/testify/assert"
)
func TestCombineLabelComments ( t * testing . T ) {
2022-01-20 20:46:10 +03:00
kases := [ ] struct {
2021-03-05 18:17:32 +03:00
name string
2022-06-13 12:37:59 +03:00
beforeCombined [ ] * issues_model . Comment
afterCombined [ ] * issues_model . Comment
2020-11-21 01:29:09 +03:00
} {
{
2021-03-05 18:17:32 +03:00
name : "kase 1" ,
2022-06-13 12:37:59 +03:00
beforeCombined : [ ] * issues_model . Comment {
2020-11-21 01:29:09 +03:00
{
2022-06-13 12:37:59 +03:00
Type : issues_model . CommentTypeLabel ,
2020-11-21 01:29:09 +03:00
PosterID : 1 ,
Content : "1" ,
2022-06-13 12:37:59 +03:00
Label : & issues_model . Label {
2020-11-21 01:29:09 +03:00
Name : "kind/bug" ,
} ,
CreatedUnix : 0 ,
} ,
{
2022-06-13 12:37:59 +03:00
Type : issues_model . CommentTypeLabel ,
2020-11-21 01:29:09 +03:00
PosterID : 1 ,
Content : "" ,
2022-06-13 12:37:59 +03:00
Label : & issues_model . Label {
2020-11-21 01:29:09 +03:00
Name : "kind/bug" ,
} ,
CreatedUnix : 0 ,
} ,
{
2022-06-13 12:37:59 +03:00
Type : issues_model . CommentTypeComment ,
2020-11-21 01:29:09 +03:00
PosterID : 1 ,
Content : "test" ,
CreatedUnix : 0 ,
} ,
} ,
2022-06-13 12:37:59 +03:00
afterCombined : [ ] * issues_model . Comment {
2020-11-21 01:29:09 +03:00
{
2022-06-13 12:37:59 +03:00
Type : issues_model . CommentTypeLabel ,
2020-11-21 01:29:09 +03:00
PosterID : 1 ,
Content : "1" ,
CreatedUnix : 0 ,
2022-06-13 12:37:59 +03:00
AddedLabels : [ ] * issues_model . Label { } ,
Label : & issues_model . Label {
2020-11-21 01:29:09 +03:00
Name : "kind/bug" ,
} ,
} ,
{
2022-06-13 12:37:59 +03:00
Type : issues_model . CommentTypeComment ,
2020-11-21 01:29:09 +03:00
PosterID : 1 ,
Content : "test" ,
CreatedUnix : 0 ,
} ,
} ,
} ,
{
2021-03-05 18:17:32 +03:00
name : "kase 2" ,
2022-06-13 12:37:59 +03:00
beforeCombined : [ ] * issues_model . Comment {
2020-11-21 01:29:09 +03:00
{
2022-06-13 12:37:59 +03:00
Type : issues_model . CommentTypeLabel ,
2020-11-21 01:29:09 +03:00
PosterID : 1 ,
Content : "1" ,
2022-06-13 12:37:59 +03:00
Label : & issues_model . Label {
2020-11-21 01:29:09 +03:00
Name : "kind/bug" ,
} ,
CreatedUnix : 0 ,
} ,
{
2022-06-13 12:37:59 +03:00
Type : issues_model . CommentTypeLabel ,
2020-11-21 01:29:09 +03:00
PosterID : 1 ,
Content : "" ,
2022-06-13 12:37:59 +03:00
Label : & issues_model . Label {
2020-11-21 01:29:09 +03:00
Name : "kind/bug" ,
} ,
CreatedUnix : 70 ,
} ,
{
2022-06-13 12:37:59 +03:00
Type : issues_model . CommentTypeComment ,
2020-11-21 01:29:09 +03:00
PosterID : 1 ,
Content : "test" ,
CreatedUnix : 0 ,
} ,
} ,
2022-06-13 12:37:59 +03:00
afterCombined : [ ] * issues_model . Comment {
2020-11-21 01:29:09 +03:00
{
2022-06-13 12:37:59 +03:00
Type : issues_model . CommentTypeLabel ,
2020-11-21 01:29:09 +03:00
PosterID : 1 ,
Content : "1" ,
CreatedUnix : 0 ,
2022-06-13 12:37:59 +03:00
AddedLabels : [ ] * issues_model . Label {
2020-11-21 01:29:09 +03:00
{
Name : "kind/bug" ,
} ,
} ,
2022-06-13 12:37:59 +03:00
Label : & issues_model . Label {
2020-11-21 01:29:09 +03:00
Name : "kind/bug" ,
} ,
} ,
{
2022-06-13 12:37:59 +03:00
Type : issues_model . CommentTypeLabel ,
2020-11-21 01:29:09 +03:00
PosterID : 1 ,
Content : "" ,
CreatedUnix : 70 ,
2022-06-13 12:37:59 +03:00
RemovedLabels : [ ] * issues_model . Label {
2020-11-21 01:29:09 +03:00
{
Name : "kind/bug" ,
} ,
} ,
2022-06-13 12:37:59 +03:00
Label : & issues_model . Label {
2020-11-21 01:29:09 +03:00
Name : "kind/bug" ,
} ,
} ,
{
2022-06-13 12:37:59 +03:00
Type : issues_model . CommentTypeComment ,
2020-11-21 01:29:09 +03:00
PosterID : 1 ,
Content : "test" ,
CreatedUnix : 0 ,
} ,
} ,
} ,
{
2021-03-05 18:17:32 +03:00
name : "kase 3" ,
2022-06-13 12:37:59 +03:00
beforeCombined : [ ] * issues_model . Comment {
2020-11-21 01:29:09 +03:00
{
2022-06-13 12:37:59 +03:00
Type : issues_model . CommentTypeLabel ,
2020-11-21 01:29:09 +03:00
PosterID : 1 ,
Content : "1" ,
2022-06-13 12:37:59 +03:00
Label : & issues_model . Label {
2020-11-21 01:29:09 +03:00
Name : "kind/bug" ,
} ,
CreatedUnix : 0 ,
} ,
{
2022-06-13 12:37:59 +03:00
Type : issues_model . CommentTypeLabel ,
2020-11-21 01:29:09 +03:00
PosterID : 2 ,
Content : "" ,
2022-06-13 12:37:59 +03:00
Label : & issues_model . Label {
2020-11-21 01:29:09 +03:00
Name : "kind/bug" ,
} ,
CreatedUnix : 0 ,
} ,
{
2022-06-13 12:37:59 +03:00
Type : issues_model . CommentTypeComment ,
2020-11-21 01:29:09 +03:00
PosterID : 1 ,
Content : "test" ,
CreatedUnix : 0 ,
} ,
} ,
2022-06-13 12:37:59 +03:00
afterCombined : [ ] * issues_model . Comment {
2020-11-21 01:29:09 +03:00
{
2022-06-13 12:37:59 +03:00
Type : issues_model . CommentTypeLabel ,
2020-11-21 01:29:09 +03:00
PosterID : 1 ,
Content : "1" ,
CreatedUnix : 0 ,
2022-06-13 12:37:59 +03:00
AddedLabels : [ ] * issues_model . Label {
2020-11-21 01:29:09 +03:00
{
Name : "kind/bug" ,
} ,
} ,
2022-06-13 12:37:59 +03:00
Label : & issues_model . Label {
2020-11-21 01:29:09 +03:00
Name : "kind/bug" ,
} ,
} ,
{
2022-06-13 12:37:59 +03:00
Type : issues_model . CommentTypeLabel ,
2020-11-21 01:29:09 +03:00
PosterID : 2 ,
Content : "" ,
CreatedUnix : 0 ,
2022-06-13 12:37:59 +03:00
RemovedLabels : [ ] * issues_model . Label {
2020-11-21 01:29:09 +03:00
{
Name : "kind/bug" ,
} ,
} ,
2022-06-13 12:37:59 +03:00
Label : & issues_model . Label {
2020-11-21 01:29:09 +03:00
Name : "kind/bug" ,
} ,
} ,
{
2022-06-13 12:37:59 +03:00
Type : issues_model . CommentTypeComment ,
2020-11-21 01:29:09 +03:00
PosterID : 1 ,
Content : "test" ,
CreatedUnix : 0 ,
} ,
} ,
} ,
{
2021-03-05 18:17:32 +03:00
name : "kase 4" ,
2022-06-13 12:37:59 +03:00
beforeCombined : [ ] * issues_model . Comment {
2020-11-21 01:29:09 +03:00
{
2022-06-13 12:37:59 +03:00
Type : issues_model . CommentTypeLabel ,
2020-11-21 01:29:09 +03:00
PosterID : 1 ,
Content : "1" ,
2022-06-13 12:37:59 +03:00
Label : & issues_model . Label {
2020-11-21 01:29:09 +03:00
Name : "kind/bug" ,
} ,
CreatedUnix : 0 ,
} ,
{
2022-06-13 12:37:59 +03:00
Type : issues_model . CommentTypeLabel ,
2020-11-21 01:29:09 +03:00
PosterID : 1 ,
Content : "1" ,
2022-06-13 12:37:59 +03:00
Label : & issues_model . Label {
2020-11-21 01:29:09 +03:00
Name : "kind/backport" ,
} ,
CreatedUnix : 10 ,
} ,
} ,
2022-06-13 12:37:59 +03:00
afterCombined : [ ] * issues_model . Comment {
2020-11-21 01:29:09 +03:00
{
2022-06-13 12:37:59 +03:00
Type : issues_model . CommentTypeLabel ,
2020-11-21 01:29:09 +03:00
PosterID : 1 ,
Content : "1" ,
CreatedUnix : 10 ,
2022-06-13 12:37:59 +03:00
AddedLabels : [ ] * issues_model . Label {
2020-11-21 01:29:09 +03:00
{
Name : "kind/bug" ,
} ,
{
Name : "kind/backport" ,
} ,
} ,
2022-06-13 12:37:59 +03:00
Label : & issues_model . Label {
2020-11-21 01:29:09 +03:00
Name : "kind/bug" ,
} ,
} ,
} ,
} ,
2021-03-05 18:17:32 +03:00
{
name : "kase 5" ,
2022-06-13 12:37:59 +03:00
beforeCombined : [ ] * issues_model . Comment {
2021-03-05 18:17:32 +03:00
{
2022-06-13 12:37:59 +03:00
Type : issues_model . CommentTypeLabel ,
2021-03-05 18:17:32 +03:00
PosterID : 1 ,
Content : "1" ,
2022-06-13 12:37:59 +03:00
Label : & issues_model . Label {
2021-03-05 18:17:32 +03:00
Name : "kind/bug" ,
} ,
CreatedUnix : 0 ,
} ,
{
2022-06-13 12:37:59 +03:00
Type : issues_model . CommentTypeComment ,
2021-03-05 18:17:32 +03:00
PosterID : 2 ,
Content : "testtest" ,
CreatedUnix : 0 ,
} ,
{
2022-06-13 12:37:59 +03:00
Type : issues_model . CommentTypeLabel ,
2021-03-05 18:17:32 +03:00
PosterID : 1 ,
Content : "" ,
2022-06-13 12:37:59 +03:00
Label : & issues_model . Label {
2021-03-05 18:17:32 +03:00
Name : "kind/bug" ,
} ,
CreatedUnix : 0 ,
} ,
} ,
2022-06-13 12:37:59 +03:00
afterCombined : [ ] * issues_model . Comment {
2021-03-05 18:17:32 +03:00
{
2022-06-13 12:37:59 +03:00
Type : issues_model . CommentTypeLabel ,
2021-03-05 18:17:32 +03:00
PosterID : 1 ,
Content : "1" ,
2022-06-13 12:37:59 +03:00
Label : & issues_model . Label {
2021-03-05 18:17:32 +03:00
Name : "kind/bug" ,
} ,
2022-06-13 12:37:59 +03:00
AddedLabels : [ ] * issues_model . Label {
2021-03-05 18:17:32 +03:00
{
Name : "kind/bug" ,
} ,
} ,
CreatedUnix : 0 ,
} ,
{
2022-06-13 12:37:59 +03:00
Type : issues_model . CommentTypeComment ,
2021-03-05 18:17:32 +03:00
PosterID : 2 ,
Content : "testtest" ,
CreatedUnix : 0 ,
} ,
{
2022-06-13 12:37:59 +03:00
Type : issues_model . CommentTypeLabel ,
2021-03-05 18:17:32 +03:00
PosterID : 1 ,
Content : "" ,
2022-06-13 12:37:59 +03:00
RemovedLabels : [ ] * issues_model . Label {
2021-03-05 18:17:32 +03:00
{
Name : "kind/bug" ,
} ,
} ,
2022-06-13 12:37:59 +03:00
Label : & issues_model . Label {
2021-03-05 18:17:32 +03:00
Name : "kind/bug" ,
} ,
CreatedUnix : 0 ,
} ,
} ,
} ,
2021-11-04 17:51:30 +03:00
{
name : "kase 6" ,
2022-06-13 12:37:59 +03:00
beforeCombined : [ ] * issues_model . Comment {
2021-11-04 17:51:30 +03:00
{
2022-06-13 12:37:59 +03:00
Type : issues_model . CommentTypeLabel ,
2021-11-04 17:51:30 +03:00
PosterID : 1 ,
Content : "1" ,
2022-06-13 12:37:59 +03:00
Label : & issues_model . Label {
2021-11-04 17:51:30 +03:00
Name : "kind/bug" ,
} ,
CreatedUnix : 0 ,
} ,
{
2022-06-13 12:37:59 +03:00
Type : issues_model . CommentTypeLabel ,
2021-11-04 17:51:30 +03:00
PosterID : 1 ,
Content : "1" ,
2022-06-13 12:37:59 +03:00
Label : & issues_model . Label {
2021-11-04 17:51:30 +03:00
Name : "reviewed/confirmed" ,
} ,
CreatedUnix : 0 ,
} ,
{
2022-06-13 12:37:59 +03:00
Type : issues_model . CommentTypeLabel ,
2021-11-04 17:51:30 +03:00
PosterID : 1 ,
Content : "" ,
2022-06-13 12:37:59 +03:00
Label : & issues_model . Label {
2021-11-04 17:51:30 +03:00
Name : "kind/bug" ,
} ,
CreatedUnix : 0 ,
} ,
{
2022-06-13 12:37:59 +03:00
Type : issues_model . CommentTypeLabel ,
2021-11-04 17:51:30 +03:00
PosterID : 1 ,
Content : "1" ,
2022-06-13 12:37:59 +03:00
Label : & issues_model . Label {
2021-11-04 17:51:30 +03:00
Name : "kind/feature" ,
} ,
CreatedUnix : 0 ,
} ,
} ,
2022-06-13 12:37:59 +03:00
afterCombined : [ ] * issues_model . Comment {
2021-11-04 17:51:30 +03:00
{
2022-06-13 12:37:59 +03:00
Type : issues_model . CommentTypeLabel ,
2021-11-04 17:51:30 +03:00
PosterID : 1 ,
Content : "1" ,
2022-06-13 12:37:59 +03:00
Label : & issues_model . Label {
2021-11-04 17:51:30 +03:00
Name : "kind/bug" ,
} ,
2022-06-13 12:37:59 +03:00
AddedLabels : [ ] * issues_model . Label {
2021-11-04 17:51:30 +03:00
{
Name : "reviewed/confirmed" ,
} ,
{
Name : "kind/feature" ,
} ,
} ,
CreatedUnix : 0 ,
} ,
} ,
} ,
2020-11-21 01:29:09 +03:00
}
for _ , kase := range kases {
2021-03-05 18:17:32 +03:00
t . Run ( kase . name , func ( t * testing . T ) {
2022-06-13 12:37:59 +03:00
issue := issues_model . Issue {
2021-03-05 18:17:32 +03:00
Comments : kase . beforeCombined ,
}
combineLabelComments ( & issue )
assert . EqualValues ( t , kase . afterCombined , issue . Comments )
} )
2020-11-21 01:29:09 +03:00
}
}