46 lines
1.1 KiB
Go
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"])
|
|
}
|
|
}
|