fix: preserve legacy payment account display
This commit is contained in:
@@ -168,6 +168,28 @@ func TestPaymentAccountDetailsReturnsOriginalFields(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestPaymentAccountDetailsFallsBackToMasksWhenHistoricalKeyIsUnavailable(t *testing.T) {
|
||||
repository := &fakeRepository{details: []store.PaymentAccount{{
|
||||
ID: 8, BankName: "中国银行", HolderCipher: "legacy-holder", HolderMask: "张*",
|
||||
IdentityNoCipher: "legacy-id", IdentityNoMask: "1101**********123X",
|
||||
AccountNoCipher: "legacy-account", AccountNoMask: "6222********1234",
|
||||
DigitalRMBCodeCipher: "legacy-rmb", DigitalRMBCodeMask: "12****78",
|
||||
WechatQRURL: "/wechat.png", AlipayQRURL: "/alipay.png", VerifyStatus: 2,
|
||||
}}}
|
||||
service := New(repository, &redis.Client{}, config.AuthConfig{
|
||||
FinanceMasterKey: "different-finance-master-key-with-32-characters",
|
||||
})
|
||||
items, err := service.PaymentAccountDetails(context.Background(), 1, 2)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if len(items) != 1 || !items[0].Masked || items[0].HolderName != "张*" ||
|
||||
items[0].IdentityNo != "1101**********123X" || items[0].AccountNo != "6222********1234" ||
|
||||
items[0].DigitalRMBCode != "12****78" {
|
||||
t.Fatalf("unexpected masked fallback: %#v", items)
|
||||
}
|
||||
}
|
||||
|
||||
func TestCreatePaymentAccountDoesNotStoreEmptyDigitalRMBCode(t *testing.T) {
|
||||
repository := &paymentAccountRepository{}
|
||||
service := New(repository, &redis.Client{}, config.AuthConfig{
|
||||
|
||||
Reference in New Issue
Block a user