Files
sxchnge/backend/pkg/model/ctoken_test.go
T

31 lines
744 B
Go

package model
import (
"testing"
"go.mongodb.org/mongo-driver/v2/bson"
)
func TestTokenPaymentDataUnmarshalReadsSnakeCaseExpiryAsInt(t *testing.T) {
raw, err := bson.Marshal(bson.M{
"token": "card-token",
"last4": "1234",
"exp_month": "01",
"exp_year": 2031.0,
})
if err != nil {
t.Fatalf("marshal card token data: %v", err)
}
var data TokenPaymentData
if err := bson.Unmarshal(raw, &data); err != nil {
t.Fatalf("unmarshal card token data: %v", err)
}
if got, want := data.ExpMonth, 1; got == nil || *got != want {
t.Fatalf("exp_month mismatch: got=%v want=%d", got, want)
}
if got, want := data.ExpYear, 2031; got == nil || *got != want {
t.Fatalf("exp_year mismatch: got=%v want=%d", got, want)
}
}