mirror of
https://codeberg.org/davrot/forgejo.git
synced 2025-05-28 12:00:01 +02:00
Use conditions but not repo ids as query condition (#16839)
* Use conditions but not repo ids as query condition * Improve the performance of pulls/issue * Remove duplicated code * fix lint * Fix bug * Fix stats * More fixes * Fix build * Fix lint * Fix test * Fix build * Adjust the logic * Merge * Fix conflicts * improve the performance * Add comments for the query conditions functions * Some improvements
This commit is contained in:
parent
8fa97a25f0
commit
8ce1b539b1
11 changed files with 401 additions and 427 deletions
|
@ -206,11 +206,26 @@ func TestGetUserIssueStats(t *testing.T) {
|
|||
FilterMode: FilterModeAll,
|
||||
},
|
||||
IssueStats{
|
||||
YourRepositoriesCount: 0,
|
||||
AssignCount: 1,
|
||||
CreateCount: 1,
|
||||
OpenCount: 0,
|
||||
ClosedCount: 0,
|
||||
YourRepositoriesCount: 1, // 6
|
||||
AssignCount: 1, // 6
|
||||
CreateCount: 1, // 6
|
||||
OpenCount: 1, // 6
|
||||
ClosedCount: 1, // 1
|
||||
},
|
||||
},
|
||||
{
|
||||
UserIssueStatsOptions{
|
||||
UserID: 1,
|
||||
RepoIDs: []int64{1},
|
||||
FilterMode: FilterModeAll,
|
||||
IsClosed: true,
|
||||
},
|
||||
IssueStats{
|
||||
YourRepositoriesCount: 1, // 6
|
||||
AssignCount: 0,
|
||||
CreateCount: 0,
|
||||
OpenCount: 1, // 6
|
||||
ClosedCount: 1, // 1
|
||||
},
|
||||
},
|
||||
{
|
||||
|
@ -219,10 +234,10 @@ func TestGetUserIssueStats(t *testing.T) {
|
|||
FilterMode: FilterModeAssign,
|
||||
},
|
||||
IssueStats{
|
||||
YourRepositoriesCount: 0,
|
||||
AssignCount: 2,
|
||||
CreateCount: 2,
|
||||
OpenCount: 2,
|
||||
YourRepositoriesCount: 1, // 6
|
||||
AssignCount: 1, // 6
|
||||
CreateCount: 1, // 6
|
||||
OpenCount: 1, // 6
|
||||
ClosedCount: 0,
|
||||
},
|
||||
},
|
||||
|
@ -232,37 +247,23 @@ func TestGetUserIssueStats(t *testing.T) {
|
|||
FilterMode: FilterModeCreate,
|
||||
},
|
||||
IssueStats{
|
||||
YourRepositoriesCount: 0,
|
||||
AssignCount: 2,
|
||||
CreateCount: 2,
|
||||
OpenCount: 2,
|
||||
YourRepositoriesCount: 1, // 6
|
||||
AssignCount: 1, // 6
|
||||
CreateCount: 1, // 6
|
||||
OpenCount: 1, // 6
|
||||
ClosedCount: 0,
|
||||
},
|
||||
},
|
||||
{
|
||||
UserIssueStatsOptions{
|
||||
UserID: 2,
|
||||
UserRepoIDs: []int64{1, 2},
|
||||
FilterMode: FilterModeAll,
|
||||
IsClosed: true,
|
||||
},
|
||||
IssueStats{
|
||||
YourRepositoriesCount: 2,
|
||||
AssignCount: 0,
|
||||
CreateCount: 2,
|
||||
OpenCount: 2,
|
||||
ClosedCount: 2,
|
||||
},
|
||||
},
|
||||
{
|
||||
UserIssueStatsOptions{
|
||||
UserID: 1,
|
||||
FilterMode: FilterModeMention,
|
||||
},
|
||||
IssueStats{
|
||||
YourRepositoriesCount: 0,
|
||||
AssignCount: 2,
|
||||
CreateCount: 2,
|
||||
YourRepositoriesCount: 1, // 6
|
||||
AssignCount: 1, // 6
|
||||
CreateCount: 1, // 6
|
||||
MentionCount: 0,
|
||||
OpenCount: 0,
|
||||
ClosedCount: 0,
|
||||
},
|
||||
|
@ -274,19 +275,21 @@ func TestGetUserIssueStats(t *testing.T) {
|
|||
IssueIDs: []int64{1},
|
||||
},
|
||||
IssueStats{
|
||||
YourRepositoriesCount: 0,
|
||||
AssignCount: 1,
|
||||
CreateCount: 1,
|
||||
OpenCount: 1,
|
||||
YourRepositoriesCount: 1, // 1
|
||||
AssignCount: 1, // 1
|
||||
CreateCount: 1, // 1
|
||||
OpenCount: 1, // 1
|
||||
ClosedCount: 0,
|
||||
},
|
||||
},
|
||||
} {
|
||||
stats, err := GetUserIssueStats(test.Opts)
|
||||
if !assert.NoError(t, err) {
|
||||
continue
|
||||
}
|
||||
assert.Equal(t, test.ExpectedIssueStats, *stats)
|
||||
t.Run(fmt.Sprintf("%#v", test.Opts), func(t *testing.T) {
|
||||
stats, err := GetUserIssueStats(test.Opts)
|
||||
if !assert.NoError(t, err) {
|
||||
return
|
||||
}
|
||||
assert.Equal(t, test.ExpectedIssueStats, *stats)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue