Skip to content

Commit 45a1e64

Browse files
committed
fix sql
1 parent d924de1 commit 45a1e64

File tree

2 files changed

+13
-12
lines changed

2 files changed

+13
-12
lines changed

models/organization/org_worktime.go

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,7 @@ func GetWorktimeByRepos(org *Organization, unitFrom, unixTo int64) (results []Wo
2424
And(builder.Eq{"tracked_time.deleted": false}).
2525
And(builder.Gte{"tracked_time.created_unix": unitFrom}).
2626
And(builder.Lte{"tracked_time.created_unix": unixTo}).
27-
GroupBy("repository.id").
28-
OrderBy("repository.name").
27+
GroupBy("repository.name").
2928
Find(&results)
3029
return results, err
3130
}
@@ -49,7 +48,7 @@ func GetWorktimeByMilestones(org *Organization, unitFrom, unixTo int64) (results
4948
And(builder.Eq{"tracked_time.deleted": false}).
5049
And(builder.Gte{"tracked_time.created_unix": unitFrom}).
5150
And(builder.Lte{"tracked_time.created_unix": unixTo}).
52-
GroupBy("repository.id, milestone.id").
51+
GroupBy("repository.name, milestone.name, milestone.deadline_unix, milestone.id").
5352
OrderBy("repository.name, milestone.deadline_unix, milestone.id").
5453
Find(&results)
5554
// Show only the first RepoName, for nicer output.
@@ -71,16 +70,16 @@ type WorktimeSumByMembers struct {
7170

7271
func GetWorktimeByMembers(org *Organization, unitFrom, unixTo int64) (results []WorktimeSumByMembers, err error) {
7372
err = db.GetEngine(db.DefaultContext).
74-
Select("user.name AS user_name, SUM(tracked_time.time) AS sum_time").
73+
Select("`user`.name AS user_name, SUM(tracked_time.time) AS sum_time").
7574
Table("tracked_time").
7675
Join("INNER", "issue", "tracked_time.issue_id = issue.id").
7776
Join("INNER", "repository", "issue.repo_id = repository.id").
78-
Join("INNER", "user", "tracked_time.user_id = user.id").
77+
Join("INNER", "`user`", "tracked_time.user_id = `user`.id").
7978
Where(builder.Eq{"repository.owner_id": org.ID}).
8079
And(builder.Eq{"tracked_time.deleted": false}).
8180
And(builder.Gte{"tracked_time.created_unix": unitFrom}).
8281
And(builder.Lte{"tracked_time.created_unix": unixTo}).
83-
GroupBy("user.id").
82+
GroupBy("`user`.name").
8483
OrderBy("sum_time DESC").
8584
Find(&results)
8685
return results, err

tests/integration/org_worktime_test.go

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111
"code.gitea.io/gitea/models/unittest"
1212

1313
"github.com/stretchr/testify/assert"
14+
"github.com/stretchr/testify/require"
1415
)
1516

1617
// TestTimesByRepos tests TimesByRepos functionality
@@ -191,10 +192,11 @@ func testTimesByMilestones(t *testing.T) {
191192
for _, kase := range kases {
192193
t.Run(kase.name, func(t *testing.T) {
193194
org, err := organization.GetOrgByID(db.DefaultContext, kase.orgname)
194-
assert.NoError(t, err)
195+
require.NoError(t, err)
195196
results, err := organization.GetWorktimeByMilestones(org, kase.unixfrom, kase.unixto)
196-
assert.NoError(t, err)
197-
assert.Equal(t, kase.expected, results)
197+
if assert.NoError(t, err) {
198+
assert.Equal(t, kase.expected, results)
199+
}
198200
})
199201
}
200202
}
@@ -285,7 +287,7 @@ func testTimesByMembers(t *testing.T) {
285287
func TestOrgWorktime(t *testing.T) {
286288
// we need to run these tests in integration test because there are complex SQL queries
287289
assert.NoError(t, unittest.PrepareTestDatabase())
288-
testTimesByRepos(t)
289-
testTimesByMilestones(t)
290-
testTimesByMembers(t)
290+
t.Run("ByRepos", testTimesByRepos)
291+
t.Run("ByMilestones", testTimesByMilestones)
292+
t.Run("ByMembers", testTimesByMembers)
291293
}

0 commit comments

Comments
 (0)