修复工作人员作业预检状态与提示

This commit is contained in:
czl231
2026-09-05 20:17:07 +08:00
parent 1670d5880f
commit cec02c8887
8 changed files with 191 additions and 12 deletions

View 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)
}
})
}
}