All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 6m53s
统一处理百分比和系数两种折扣输入方式,增加边界保护 在金额计算中使用math.Round进行四舍五入处理 添加相关单元测试确保计算准确性
24 lines
571 B
Go
24 lines
571 B
Go
package portal
|
|
|
|
import (
|
|
"testing"
|
|
"github.com/perfect-panel/server/internal/types"
|
|
)
|
|
|
|
func TestGetDiscount_Coefficient(t *testing.T) {
|
|
discounts := []types.SubscribeDiscount{{Quantity: 7, Discount: 0.9}}
|
|
got := getDiscount(discounts, 7)
|
|
if got != 0.9 {
|
|
t.Fatalf("expected 0.9, got %v", got)
|
|
}
|
|
}
|
|
|
|
func TestGetDiscount_Percentage(t *testing.T) {
|
|
discounts := []types.SubscribeDiscount{{Quantity: 7, Discount: 90}}
|
|
got := getDiscount(discounts, 7)
|
|
if got != 0.9 {
|
|
t.Fatalf("expected 0.9 from 90%%, got %v", got)
|
|
}
|
|
}
|
|
|