mirror of
https://github.com/Sagit-chu/flvx.git
synced 2026-09-29 07:56:37 +08:00
3d1a8c8963
Reduce repetitive raw SQL in test bodies by routing scalar and multi-column checks through shared helpers, keeping test intent clearer without changing behavior.
51 lines
1.3 KiB
Go
51 lines
1.3 KiB
Go
package handler
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"go-backend/internal/store/repo"
|
|
)
|
|
|
|
func mustLastInsertID(t *testing.T, r *repo.Repository, label string) int64 {
|
|
t.Helper()
|
|
var id int64
|
|
if err := r.DB().Raw("SELECT last_insert_rowid()").Row().Scan(&id); err != nil {
|
|
t.Fatalf("read last_insert_rowid for %s: %v", label, err)
|
|
}
|
|
if id <= 0 {
|
|
t.Fatalf("invalid last_insert_rowid for %s: %d", label, id)
|
|
}
|
|
return id
|
|
}
|
|
|
|
func mustQueryInt(t *testing.T, r *repo.Repository, query string, args ...interface{}) int {
|
|
t.Helper()
|
|
var v int
|
|
if err := r.DB().Raw(query, args...).Row().Scan(&v); err != nil {
|
|
t.Fatalf("query int failed: %v (query=%q)", err, query)
|
|
}
|
|
return v
|
|
}
|
|
|
|
func mustQueryInt64Int64String(t *testing.T, r *repo.Repository, query string, args ...interface{}) (int64, int64, string) {
|
|
t.Helper()
|
|
var a int64
|
|
var b int64
|
|
var c string
|
|
if err := r.DB().Raw(query, args...).Row().Scan(&a, &b, &c); err != nil {
|
|
t.Fatalf("query int64+int64+string failed: %v (query=%q)", err, query)
|
|
}
|
|
return a, b, c
|
|
}
|
|
|
|
func mustQueryInt64Int64Int(t *testing.T, r *repo.Repository, query string, args ...interface{}) (int64, int64, int) {
|
|
t.Helper()
|
|
var a int64
|
|
var b int64
|
|
var c int
|
|
if err := r.DB().Raw(query, args...).Row().Scan(&a, &b, &c); err != nil {
|
|
t.Fatalf("query int64+int64+int failed: %v (query=%q)", err, query)
|
|
}
|
|
return a, b, c
|
|
}
|