mirror of https://github.com/go-gitea/gitea
parent
f601501fc1
commit
789b73bd55
@ -0,0 +1,61 @@ |
||||
// Copyright 2025 The Gitea Authors. All rights reserved.
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
package user_test |
||||
|
||||
import ( |
||||
"testing" |
||||
|
||||
"code.gitea.io/gitea/models/db" |
||||
"code.gitea.io/gitea/models/unittest" |
||||
user_model "code.gitea.io/gitea/models/user" |
||||
|
||||
"github.com/stretchr/testify/assert" |
||||
) |
||||
|
||||
func TestGetBadgeUsers(t *testing.T) { |
||||
assert.NoError(t, unittest.PrepareTestDatabase()) |
||||
|
||||
// Create a test badge
|
||||
badge := &user_model.Badge{ |
||||
Slug: "test-badge", |
||||
Description: "Test Badge", |
||||
ImageURL: "test.png", |
||||
} |
||||
assert.NoError(t, user_model.CreateBadge(db.DefaultContext, badge)) |
||||
|
||||
// Create test users and assign badges
|
||||
user1 := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1}) |
||||
user2 := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 2}) |
||||
|
||||
assert.NoError(t, user_model.AddUserBadge(db.DefaultContext, user1, badge)) |
||||
assert.NoError(t, user_model.AddUserBadge(db.DefaultContext, user2, badge)) |
||||
|
||||
// Test getting users with pagination
|
||||
opts := &user_model.GetBadgeUsersOptions{ |
||||
Badge: badge, |
||||
ListOptions: db.ListOptions{ |
||||
Page: 1, |
||||
PageSize: 1, |
||||
}, |
||||
} |
||||
|
||||
users, count, err := user_model.GetBadgeUsers(db.DefaultContext, opts) |
||||
assert.NoError(t, err) |
||||
assert.EqualValues(t, 2, count) |
||||
assert.Len(t, users, 1) |
||||
|
||||
// Test second page
|
||||
opts.Page = 2 |
||||
users, count, err = user_model.GetBadgeUsers(db.DefaultContext, opts) |
||||
assert.NoError(t, err) |
||||
assert.EqualValues(t, 2, count) |
||||
assert.Len(t, users, 1) |
||||
|
||||
// Test with non-existent badge
|
||||
opts.Badge = &user_model.Badge{Slug: "non-existent"} |
||||
users, count, err = user_model.GetBadgeUsers(db.DefaultContext, opts) |
||||
assert.NoError(t, err) |
||||
assert.EqualValues(t, 0, count) |
||||
assert.Len(t, users, 0) |
||||
} |
Loading…
Reference in new issue