修复工作人员作业预检状态与提示
This commit is contained in:
36
backend/api/internal/logic/client/staff/auth_test.go
Normal file
36
backend/api/internal/logic/client/staff/auth_test.go
Normal file
@@ -0,0 +1,36 @@
|
||||
// 功能描述:验证工作人员资质预检原因判定。
|
||||
// 版本:1.0.0
|
||||
package staff
|
||||
|
||||
import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
common "git.apinb.com/heqiapp/platforms/backend/api/internal/logic/common"
|
||||
"git.apinb.com/heqiapp/platforms/backend/api/internal/models"
|
||||
)
|
||||
|
||||
// TestEvaluateCredential 验证缺失、停用、过期和有效资质均返回稳定原因码。
|
||||
func TestEvaluateCredential(t *testing.T) {
|
||||
now := time.Date(2026, 9, 5, 12, 0, 0, 0, time.UTC)
|
||||
past, future := now.Add(-time.Hour), now.Add(time.Hour)
|
||||
tests := []struct {
|
||||
name string
|
||||
credentials []models.StaffCredential
|
||||
valid bool
|
||||
reason string
|
||||
}{
|
||||
{name: "缺失", reason: "missing"},
|
||||
{name: "停用", credentials: []models.StaffCredential{{Entity: models.Entity{ID: 1, Status: common.StatusDisable}}}, reason: "disabled"},
|
||||
{name: "过期", credentials: []models.StaffCredential{{Entity: models.Entity{ID: 2, Status: common.StatusEnable}, ExpiredAt: &past}}, reason: "expired"},
|
||||
{name: "有效", credentials: []models.StaffCredential{{Entity: models.Entity{ID: 3, Status: common.StatusEnable}, ExpiredAt: &future}}, valid: true, reason: "valid"},
|
||||
}
|
||||
for _, test := range tests {
|
||||
t.Run(test.name, func(t *testing.T) {
|
||||
_, valid, reason := evaluateCredential(test.credentials, now)
|
||||
if valid != test.valid || reason != test.reason {
|
||||
t.Fatalf("valid=%v reason=%q,期望 valid=%v reason=%q", valid, reason, test.valid, test.reason)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user