Complete refactor to new grpc control plane and only http proxy for carts #4

Merged
mats merged 75 commits from refactor/http-proxy into main 2025-10-14 22:31:28 +02:00
2 changed files with 14 additions and 1 deletions
Showing only changes of commit e908a4130b - Show all commits

View File

@@ -25,7 +25,7 @@ func NewPrice() *Price {
func NewPriceFromIncVat(incVat int64, taxRate float32) *Price { func NewPriceFromIncVat(incVat int64, taxRate float32) *Price {
tax := GetTaxAmount(incVat, int(taxRate*100)) tax := GetTaxAmount(incVat, int(taxRate*100))
return &Price{ return &Price{
IncVat: incVat - tax, IncVat: incVat,
VatRates: map[float32]int64{ VatRates: map[float32]int64{
taxRate: tax, taxRate: tax,
}, },

View File

@@ -32,6 +32,19 @@ func TestPriceMarshalJSON(t *testing.T) {
} }
} }
func TestNewPriceFromIncVat(t *testing.T) {
p := NewPriceFromIncVat(1000, 0.25)
if p.IncVat != 1000 {
t.Fatalf("expected IncVat %d got %d", 1000, p.IncVat)
}
if p.VatRates[25] != 250 {
t.Fatalf("expected VAT 25 rate %d got %d", 250, p.VatRates[25])
}
if p.ValueExVat() != 750 {
t.Fatalf("expected exVat %d got %d", 750, p.ValueExVat())
}
}
func TestSumPrices(t *testing.T) { func TestSumPrices(t *testing.T) {
// We'll construct prices via raw struct since constructor expects tax math. // We'll construct prices via raw struct since constructor expects tax math.
// IncVat already includes vat portions. // IncVat already includes vat portions.