Files
NianAIGC/backend/internal/billing/a4_test.go
2026-09-11 15:33:18 +08:00

23 lines
1.0 KiB
Go

package billing
import "testing"
func TestA4QuoteUsesExisting1KCostAndMarkup(t *testing.T) {
for _, size := range []struct {
width, height int
ratio string
}{{1680, 2376, "70:99"}, {2376, 1680, "99:70"}, {848, 1200, "70:99"}, {1200, 848, "99:70"}} {
dimensions := map[string]any{"width": size.width, "height": size.height}
for _, payload := range []map[string]any{dimensions, {"settings": dimensions}, {"input": dimensions}, {"providerPayload": dimensions}} {
parameters := NormalizeBillingParameters(payload, Parameters{"resolution": "1K", "quality": "medium"})
if parameters["aspectRatio"] != size.ratio {
t.Fatalf("parameters=%#v", parameters)
}
quote, err := (Catalog{Rules: DefaultBillingPriceRules()}).Quote(QuoteInput{Provider: "evolink", Capability: "image.generate", ReqKey: "gpt-image-2", Source: "platform", Parameters: parameters})
if err != nil || quote == nil || quote.StandardUnitPriceFen != 34 || quote.MarkupMultiplier != 1.2 || quote.AmountFen != 41 {
t.Fatalf("A4 quote=%#v err=%v", quote, err)
}
}
}
}