package order import ( "testing" "github.com/perfect-panel/server/internal/model/coupon" ) func TestCalculateCoupon_Percent(t *testing.T) { c := &coupon.Coupon{Type: 1, Discount: 10} got := calculateCoupon(1000, c) if got != 100 { t.Fatalf("percent coupon expected 100, got %d", got) } } func TestCalculateCoupon_PercentRounding(t *testing.T) { c := &coupon.Coupon{Type: 1, Discount: 10} got := calculateCoupon(999, c) // 999*10% = 99.9 → round to 100 if got != 100 { t.Fatalf("percent coupon rounding expected 100, got %d", got) } } func TestCalculateCoupon_FixedCap(t *testing.T) { c := &coupon.Coupon{Type: 2, Discount: 300} got := calculateCoupon(200, c) if got != 200 { t.Fatalf("fixed coupon capped by amount expected 200, got %d", got) } }