feat: snapshot payment provider keys on orders

This commit is contained in:
IanShaw027
2026-04-20 20:47:14 +08:00
parent e3f69e0246
commit c0b24aefba
14 changed files with 400 additions and 24 deletions

View File

@@ -198,7 +198,7 @@ func TestExpectedNotificationProviderKeyPrefersOrderInstanceProvider(t *testing.
assert.Equal(t,
payment.TypeEasyPay,
expectedNotificationProviderKey(registry, payment.TypeAlipay, payment.TypeEasyPay),
expectedNotificationProviderKey(registry, payment.TypeAlipay, "", payment.TypeEasyPay),
)
}
@@ -213,7 +213,7 @@ func TestExpectedNotificationProviderKeyUsesRegistryMappingForLegacyOrders(t *te
assert.Equal(t,
payment.TypeEasyPay,
expectedNotificationProviderKey(registry, payment.TypeAlipay, ""),
expectedNotificationProviderKey(registry, payment.TypeAlipay, "", ""),
)
}
@@ -222,6 +222,21 @@ func TestExpectedNotificationProviderKeyFallsBackToPaymentType(t *testing.T) {
assert.Equal(t,
payment.TypeWxpay,
expectedNotificationProviderKey(nil, payment.TypeWxpay, ""),
expectedNotificationProviderKey(nil, payment.TypeWxpay, "", ""),
)
}
func TestExpectedNotificationProviderKeyPrefersOrderSnapshotProviderKey(t *testing.T) {
t.Parallel()
registry := payment.NewRegistry()
registry.Register(paymentFulfillmentTestProvider{
key: payment.TypeAlipay,
supportedTypes: []payment.PaymentType{payment.TypeAlipay},
})
assert.Equal(t,
payment.TypeEasyPay,
expectedNotificationProviderKey(registry, payment.TypeAlipay, payment.TypeEasyPay, ""),
)
}