2026-07-14 11:29:05 +08:00

32 lines
1.0 KiB
Go

package appregistry
import (
"context"
"testing"
"github.com/DATA-DOG/go-sqlmock"
)
func TestListAppsReturnsLogoURL(t *testing.T) {
db, mock, err := sqlmock.New()
if err != nil {
t.Fatalf("create sqlmock: %v", err)
}
defer db.Close()
mock.ExpectQuery(`SELECT app_id, app_code, app_name, logo_url, package_name, platform, status, created_at_ms, updated_at_ms`).
WillReturnRows(sqlmock.NewRows([]string{"app_id", "app_code", "app_name", "logo_url", "package_name", "platform", "status", "created_at_ms", "updated_at_ms"}).
AddRow(1, "lalu", "Lalu", "https://media.haiyihy.com/admin/apps/logos/lalu.png", "com.org.laluparty", "", "active", 10, 20))
items, err := NewService(db).ListApps(context.Background())
if err != nil {
t.Fatalf("list apps: %v", err)
}
if len(items) != 1 || items[0].LogoURL != "https://media.haiyihy.com/admin/apps/logos/lalu.png" {
t.Fatalf("unexpected app items: %+v", items)
}
if err := mock.ExpectationsWereMet(); err != nil {
t.Fatalf("sql expectations: %v", err)
}
}