优化结构

This commit is contained in:
Yvan
2026-08-28 13:56:12 +08:00
parent 33ba777137
commit 56f9440a6b
32 changed files with 159 additions and 270 deletions
+24
View File
@@ -66,3 +66,27 @@ func TestParameterRepositoryKeepsReferenceEmptyQuerySemantics(t *testing.T) {
t.Fatalf("empty bulk delete removed rows: count=%d", count)
}
}
func TestParameterUpdateDoesNotReviveSoftDeletedRow(t *testing.T) {
data := newTransactionTestData(t)
repo := &parameterRepo{data: data}
ctx := context.Background()
item := &system.SystemParameter{Name: "before-delete", Key: "soft-delete-key", Value: "value"}
if err := repo.CreateParameter(ctx, item); err != nil {
t.Fatal(err)
}
if err := data.gormDB.WithContext(ctx).Delete(&parameterPO{}, item.ID).Error; err != nil {
t.Fatal(err)
}
item.Name = "must-not-revive"
if err := repo.UpdateParameter(ctx, item); err != nil {
t.Fatal(err)
}
var persisted parameterPO
if err := data.gormDB.WithContext(ctx).Unscoped().First(&persisted, item.ID).Error; err != nil {
t.Fatal(err)
}
if persisted.Name != "before-delete" || persisted.DeletedAt.Time.IsZero() {
t.Fatalf("soft-deleted row changed or revived: %+v", persisted)
}
}