mirror of
https://github.com/Wei-Shaw/sub2api.git
synced 2026-09-24 16:05:44 +08:00
49 lines
1.0 KiB
Go
49 lines
1.0 KiB
Go
package admin
|
|
|
|
import (
|
|
"encoding/json"
|
|
"strings"
|
|
"testing"
|
|
"time"
|
|
|
|
dbent "github.com/Wei-Shaw/sub2api/ent"
|
|
)
|
|
|
|
func TestSanitizeAdminPaymentOrderForResponseAddsCurrency(t *testing.T) {
|
|
now := time.Now()
|
|
order := &dbent.PaymentOrder{
|
|
ID: 1,
|
|
UserID: 2,
|
|
Amount: 100,
|
|
PayAmount: 108,
|
|
FeeRate: 8,
|
|
OutTradeNo: "sub2_202606250001",
|
|
PaymentType: "stripe",
|
|
OrderType: "subscription",
|
|
Status: "COMPLETED",
|
|
ExpiresAt: now,
|
|
CreatedAt: now,
|
|
UpdatedAt: now,
|
|
ProviderSnapshot: map[string]any{
|
|
"schema_version": 2,
|
|
"currency": "USD",
|
|
},
|
|
}
|
|
|
|
got := sanitizeAdminPaymentOrderForResponse(order)
|
|
if got == nil {
|
|
t.Fatal("expected sanitized order")
|
|
}
|
|
if got.Currency != "USD" {
|
|
t.Fatalf("expected currency USD, got %q", got.Currency)
|
|
}
|
|
|
|
body, err := json.Marshal(got)
|
|
if err != nil {
|
|
t.Fatalf("marshal sanitized order: %v", err)
|
|
}
|
|
if strings.Contains(string(body), "provider_snapshot") {
|
|
t.Fatalf("expected provider_snapshot to be omitted, got %s", string(body))
|
|
}
|
|
}
|