2026-07-02 10:53:44 +08:00

46 lines
1.1 KiB
Go

package shared
import (
"net/http"
"net/http/httptest"
"testing"
"github.com/gin-gonic/gin"
"hyapp-admin-server/internal/model"
)
func TestListOptionsParsesTeamID(t *testing.T) {
gin.SetMode(gin.TestMode)
req := httptest.NewRequest(http.MethodGet, "/users?page=2&page_size=20&team_id=2", nil)
ctx, _ := gin.CreateTestContext(httptest.NewRecorder())
ctx.Request = req
options := ListOptions(ctx)
if options.Page != 2 || options.PageSize != 20 || options.TeamID != model.TeamOperationsID {
t.Fatalf("list options mismatch: %+v", options)
}
}
func TestUserDTOUsesTeamRecordName(t *testing.T) {
teamID := model.TeamOperationsID
dto := UserDTO(model.User{
ID: 7,
Username: "ops",
Name: "Ops",
Team: "平台运营",
TeamID: &teamID,
TeamRecord: model.Team{
ID: model.TeamOperationsID,
Name: "运营团队",
},
Status: model.UserStatusActive,
})
if dto["team"] != "运营团队" || dto["teamName"] != "运营团队" {
t.Fatalf("team display mismatch: %+v", dto)
}
if got, ok := dto["teamId"].(*uint); !ok || got == nil || *got != model.TeamOperationsID {
t.Fatalf("team id mismatch: %#v", dto["teamId"])
}
}