Bootstrap copied BFF and local accounts with public Sendico contracts (#34)
This commit is contained in:
1 parent
67dc5b5b1e
commit
7062672a87
556 files changed
+42291
-777
No files matched your search
@@ -0,0 +1,68 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"go.mongodb.org/mongo-driver/v2/bson"
|
||||
)
|
||||
|
||||
func TestPaymentMethodAsCardReadsStoredSnakeCaseExpiry(t *testing.T) {
|
||||
data, err := bson.Marshal(bson.M{
|
||||
"pan": "2200001100000001",
|
||||
"firstName": "S",
|
||||
"lastName": "S",
|
||||
"exp_month": 12.0,
|
||||
"exp_year": 2031.0,
|
||||
"country": nil,
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatalf("marshal card data: %v", err)
|
||||
}
|
||||
|
||||
card, err := (&PaymentMethod{
|
||||
Type: PaymentTypeCard,
|
||||
Data: data,
|
||||
}).AsCard()
|
||||
if err != nil {
|
||||
t.Fatalf("AsCard returned error: %v", err)
|
||||
}
|
||||
|
||||
if got, want := card.ExpMonth, 12; got == nil || *got != want {
|
||||
t.Fatalf("exp_month mismatch: got=%v want=%d", got, want)
|
||||
}
|
||||
if got, want := card.ExpYear, 2031; got == nil || *got != want {
|
||||
t.Fatalf("exp_year mismatch: got=%v want=%d", got, want)
|
||||
}
|
||||
}
|
||||
|
||||
func TestCardPaymentDataMarshalUsesStoredSnakeCaseExpiry(t *testing.T) {
|
||||
expMonth := 12
|
||||
expYear := 2031
|
||||
raw, err := bson.Marshal(CardPaymentData{
|
||||
Pan: "2200001100000001",
|
||||
FirstName: "S",
|
||||
LastName: "S",
|
||||
ExpMonth: &expMonth,
|
||||
ExpYear: &expYear,
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatalf("marshal card data: %v", err)
|
||||
}
|
||||
|
||||
var data bson.M
|
||||
if err := bson.Unmarshal(raw, &data); err != nil {
|
||||
t.Fatalf("unmarshal card data: %v", err)
|
||||
}
|
||||
if got, want := paymentDataInt(data["exp_month"]), 12; got == nil || *got != want {
|
||||
t.Fatalf("stored exp_month mismatch: got=%v want=%d", got, want)
|
||||
}
|
||||
if got, want := paymentDataInt(data["exp_year"]), 2031; got == nil || *got != want {
|
||||
t.Fatalf("stored exp_year mismatch: got=%v want=%d", got, want)
|
||||
}
|
||||
if _, ok := data["expMonth"]; ok {
|
||||
t.Fatalf("card data must not store camelCase expMonth: %#v", data)
|
||||
}
|
||||
if _, ok := data["expYear"]; ok {
|
||||
t.Fatalf("card data must not store camelCase expYear: %#v", data)
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user