package title import "testing" func TestValidateEffectParams_Discount(t *testing.T) { s := &service{} _, err := s.ValidateEffectParams(2, `{"discount_type":"invalid","value_x1000":10,"max_discount_x1000":0}`) if err == nil { t.Fatalf("expected error for invalid discount_type") } out, err := s.ValidateEffectParams(2, `{"discount_type":"percentage","value_x1000":1000,"max_discount_x1000":0}`) if err != nil { t.Fatalf("unexpected error: %v", err) } if out == "" { t.Fatalf("expected non-empty output") } } func TestValidateEffectParams_TargetPrizeDedup(t *testing.T) { s := &service{} out, err := s.ValidateEffectParams(5, `{"target_prize_ids":[1,2,2,1],"boost_x1000":100}`) if err != nil { t.Fatalf("unexpected error: %v", err) } if len(out) == 0 { t.Fatalf("expected sanitized json") } }