2026-07-27 03:18:41 +08:00
|
|
|
package platform
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"regexp"
|
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
|
|
"git.apinb.com/heqiapp/platforms/backend/api/internal/models"
|
|
|
|
|
"github.com/DATA-DOG/go-sqlmock"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func TestDashboardOverviewReturnsZeroValuesForAnEmptyDatabase(t *testing.T) {
|
|
|
|
|
_, mock := setupPlatformRoleDatabase(t)
|
|
|
|
|
for _, query := range []string{
|
|
|
|
|
`SELECT count\(\*\) FROM "gas_basic" WHERE status = \$1`,
|
|
|
|
|
`SELECT count\(\*\) FROM "delivery_basic" WHERE status = \$1`,
|
|
|
|
|
`SELECT count\(\*\) FROM "staff_account" WHERE work_status = \$1`,
|
|
|
|
|
`SELECT count\(\*\) FROM "user_account" WHERE status = \$1`,
|
2026-07-27 14:28:23 +08:00
|
|
|
`SELECT count\(\*\) FROM "safe_event" WHERE status = \$1`,
|
2026-07-27 03:18:41 +08:00
|
|
|
} {
|
|
|
|
|
mock.ExpectQuery(regexp.MustCompile(query).String()).WithArgs(sqlmock.AnyArg()).WillReturnRows(sqlmock.NewRows([]string{"count"}).AddRow(0))
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
overview, err := models.GetDashboardOverview()
|
|
|
|
|
if err != nil {
|
|
|
|
|
t.Fatal(err)
|
|
|
|
|
}
|
|
|
|
|
if overview != (models.DashboardOverview{}) {
|
|
|
|
|
t.Fatalf("empty dashboard = %#v, want zero values", overview)
|
|
|
|
|
}
|
|
|
|
|
assertMockExpectations(t, mock)
|
|
|
|
|
}
|