Re-migrate code

This commit is contained in:
2026-03-02 10:05:12 +08:00
parent d1e6f15745
commit 51025195a5
7 changed files with 177 additions and 0 deletions

View File

@@ -773,3 +773,47 @@ func TestEmployeeSerialsService_GenerateQRCode_Inactive(t *testing.T) {
database.DB.Unscoped().Where("company_name = ?", "QREmpCompany2").Delete(&models.Company{})
database.DB.Unscoped().Delete(&user)
}
func TestCompaniesService_GetStatsOverview_Success(t *testing.T) {
var user models.User
password, _ := bcrypt.GenerateFromPassword([]byte("password123"), bcrypt.DefaultCost)
user = models.User{
Username: "statsadmin",
Password: string(password),
Name: "统计管理员",
Email: "statsadmin@example.com",
Role: "admin",
}
database.DB.Create(&user)
serialService := SerialsService{}
companySerials, _ := serialService.Generate("StatsCompany", 2, 30, user.ID, "STAT")
employeeSerialsService := EmployeeSerialsService{}
employeeSerials, _ := employeeSerialsService.Generate("StatsCompany", "技术部", "测试员工", 2, user.ID)
_ = serialService.Revoke(companySerials[0].SerialNumber)
_ = employeeSerialsService.Revoke(employeeSerials[0].SerialNumber)
companiesService := CompaniesService{}
stats, err := companiesService.GetStatsOverview()
assert.NoError(t, err)
assert.NotNil(t, stats)
assert.GreaterOrEqual(t, stats.TotalCompanies, int64(1))
assert.GreaterOrEqual(t, stats.TotalSerials, int64(2))
assert.GreaterOrEqual(t, stats.TotalEmployeeSerials, int64(2))
assert.GreaterOrEqual(t, stats.RevokedSerials, int64(1))
assert.GreaterOrEqual(t, stats.RevokedEmployeeSerials, int64(1))
for _, serial := range companySerials {
database.DB.Unscoped().Delete(&serial)
}
for _, serial := range employeeSerials {
database.DB.Unscoped().Delete(&serial)
}
database.DB.Unscoped().Where("company_name = ?", "StatsCompany").Delete(&models.Company{})
database.DB.Unscoped().Delete(&user)
}