package distribution import ( "testing" "hfb_sys/backend/internal/model" "hfb_sys/backend/internal/modules/systemconfig" ) // TestCreateSiteUsesConfiguredDefaultSettlementHoldDays 验证新建站点未显式传值时读取系统配置的默认冷却天数。 func TestCreateSiteUsesConfiguredDefaultSettlementHoldDays(t *testing.T) { db := distributionTestDB(t) repo := NewRepository(db) if err := db.Create(&model.SystemConfig{ Key: systemconfig.DistributionSettlementHoldDaysKey, Value: "3", }).Error; err != nil { t.Fatal(err) } dto, err := repo.CreateSite(t.Context(), CreateSiteRequest{SiteCode: "cfg_hold", SiteName: "配置冷却站", Domain: "cfghold.dist.com"}) if err != nil { t.Fatalf("CreateSite err = %v", err) } if dto.SettlementHoldDays != 3 { t.Fatalf("DTO settlement_hold_days = %d, want 3", dto.SettlementHoldDays) } var site model.DistributionSite if err := db.Where("site_code = ?", "cfg_hold").First(&site).Error; err != nil { t.Fatal(err) } if site.SettlementHoldDays != 3 { t.Fatalf("DB settlement_hold_days = %d, want 3", site.SettlementHoldDays) } } // TestCreateSiteFallsBackWhenConfigMissing 验证系统配置缺失时回落到内置默认 7 天。 func TestCreateSiteFallsBackWhenConfigMissing(t *testing.T) { db := distributionTestDB(t) repo := NewRepository(db) dto, err := repo.CreateSite(t.Context(), CreateSiteRequest{SiteCode: "no_cfg_hold", SiteName: "兜底冷却站", Domain: "nocfghold.dist.com"}) if err != nil { t.Fatalf("CreateSite err = %v", err) } if dto.SettlementHoldDays != systemconfig.DefaultDistributionSettlementHoldDays { t.Fatalf("DTO settlement_hold_days = %d, want %d", dto.SettlementHoldDays, systemconfig.DefaultDistributionSettlementHoldDays) } var site model.DistributionSite if err := db.Where("site_code = ?", "no_cfg_hold").First(&site).Error; err != nil { t.Fatal(err) } if site.SettlementHoldDays != systemconfig.DefaultDistributionSettlementHoldDays { t.Fatalf("DB settlement_hold_days = %d, want %d", site.SettlementHoldDays, systemconfig.DefaultDistributionSettlementHoldDays) } }