优化结构
This commit is contained in:
@@ -1,68 +0,0 @@
|
||||
package system
|
||||
|
||||
import (
|
||||
"context"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"kra/internal/biz"
|
||||
)
|
||||
|
||||
func TestParameterRepositoryPreservesModelMetadata(t *testing.T) {
|
||||
data := newTransactionTestData(t)
|
||||
repo := ¶meterRepo{data: data}
|
||||
createdAt := time.Date(2025, time.January, 2, 3, 4, 5, 0, time.Local)
|
||||
value := &biz.SystemParameter{ID: 41, CreatedAt: createdAt, Name: "name", Key: "key", Value: "value"}
|
||||
|
||||
if err := repo.CreateParameter(context.Background(), value); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if value.ID != 41 || !value.CreatedAt.Equal(createdAt) {
|
||||
t.Fatalf("created parameter metadata = ID %d, CreatedAt %v", value.ID, value.CreatedAt)
|
||||
}
|
||||
|
||||
nextCreatedAt := createdAt.Add(time.Hour)
|
||||
value.CreatedAt = nextCreatedAt
|
||||
value.Name = "updated"
|
||||
if err := repo.UpdateParameter(context.Background(), value); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
var persisted parameterPO
|
||||
if err := data.gormDB.WithContext(context.Background()).First(&persisted, 41).Error; err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if persisted.Name != "updated" || !persisted.CreatedAt.Equal(nextCreatedAt) {
|
||||
t.Fatalf("updated parameter = %+v", persisted)
|
||||
}
|
||||
}
|
||||
|
||||
func TestParameterRepositoryKeepsReferenceEmptyQuerySemantics(t *testing.T) {
|
||||
data := newTransactionTestData(t)
|
||||
repo := ¶meterRepo{data: data}
|
||||
ctx := context.Background()
|
||||
first := &biz.SystemParameter{Name: "first", Key: "first", Value: "1"}
|
||||
if err := repo.CreateParameter(ctx, first); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
byEmptyKey, err := repo.FindParameterByKey(ctx, "")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if byEmptyKey.ID != first.ID {
|
||||
t.Fatalf("empty key returned ID %d, want first row %d", byEmptyKey.ID, first.ID)
|
||||
}
|
||||
if _, err = repo.FindParameterByID(ctx, ""); err == nil {
|
||||
t.Fatal("empty ID unexpectedly matched a parameter")
|
||||
}
|
||||
if err = repo.DeleteParameters(ctx, nil); err != nil {
|
||||
t.Fatalf("empty bulk delete must be a successful no-op: %v", err)
|
||||
}
|
||||
var count int64
|
||||
if err = data.gormDB.WithContext(ctx).Model(¶meterPO{}).Count(&count).Error; err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if count != 1 {
|
||||
t.Fatalf("empty bulk delete removed rows: count=%d", count)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user