chore: seed migration objects batch 52
This commit is contained in:
@@ -19,6 +19,7 @@ type fakeRepository struct {
|
||||
orders []store.WithdrawalOrder
|
||||
rechargeChannels []store.RechargeChannel
|
||||
rechargeOrders []store.RechargeOrder
|
||||
ledgers []store.WalletLedger
|
||||
createdRecharge store.RechargeCreation
|
||||
}
|
||||
|
||||
@@ -67,6 +68,9 @@ func (f *fakeRepository) RechargeOrders(context.Context, int64, int64, int, int,
|
||||
func (f *fakeRepository) RechargeOrder(context.Context, int64, int64, int64) (*store.RechargeOrder, error) {
|
||||
return nil, errors.New("not implemented")
|
||||
}
|
||||
func (f *fakeRepository) WalletLedgers(context.Context, int64, int64, string, int, int, int) (*store.WalletLedgerPage, error) {
|
||||
return &store.WalletLedgerPage{Items: f.ledgers, Total: int64(len(f.ledgers))}, nil
|
||||
}
|
||||
|
||||
func TestQuoteCalculatesRateFeeAndLimits(t *testing.T) {
|
||||
repository := &fakeRepository{config: json.RawMessage(`{"features":{"withdrawal_enabled":true}}`),
|
||||
@@ -127,7 +131,7 @@ func TestCreateRechargeValidatesChannelAndMapsOrder(t *testing.T) {
|
||||
repository := &fakeRepository{rechargeChannels: []store.RechargeChannel{{
|
||||
ID: 4, Code: "manual", Name: "人工审核", MinAmount: 100, MaxAmount: 100000,
|
||||
}}}
|
||||
service := &Service{repository: repository, ready: true, now: time.Now}
|
||||
service := New(repository, nil, config.AuthConfig{})
|
||||
result, err := service.CreateRecharge(context.Background(), 0, 9, CreateRechargeInput{
|
||||
ChannelID: 4, Amount: 50000, Currency: "cny", Remark: "测试",
|
||||
})
|
||||
@@ -157,6 +161,43 @@ func TestRechargeOrdersMapsStatusAndPagination(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestFinanceOrderListsDoNotRequireEncryptionKeys(t *testing.T) {
|
||||
repository := &fakeRepository{
|
||||
orders: []store.WithdrawalOrder{{ID: 2, WithdrawalNo: "WD2", Status: 1}},
|
||||
rechargeOrders: []store.RechargeOrder{{ID: 3, RechargeNo: "RC3", Status: 1}},
|
||||
}
|
||||
service := New(repository, nil, config.AuthConfig{})
|
||||
|
||||
withdrawals, err := service.WithdrawalOrders(context.Background(), 0, 9, 1, 20, "all")
|
||||
if err != nil || len(withdrawals.Items) != 1 {
|
||||
t.Fatalf("withdrawal records should remain readable without encryption keys: %#v, %v", withdrawals, err)
|
||||
}
|
||||
recharges, err := service.RechargeOrders(context.Background(), 0, 9, 1, 20, "all")
|
||||
if err != nil || len(recharges.Items) != 1 {
|
||||
t.Fatalf("recharge records should remain readable without encryption keys: %#v, %v", recharges, err)
|
||||
}
|
||||
if _, err = service.PaymentAccounts(context.Background(), 0, 9); err != nil {
|
||||
t.Fatalf("masked payment accounts should remain readable without encryption keys, got %v", err)
|
||||
}
|
||||
if _, err = service.CreatePaymentAccount(context.Background(), 0, 9, PaymentAccountInput{}); !errors.Is(err, ErrUnavailable) {
|
||||
t.Fatalf("sensitive finance operations must remain unavailable without encryption keys, got %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestWalletLedgersDoNotRequireEncryptionKeys(t *testing.T) {
|
||||
service := New(&fakeRepository{ledgers: []store.WalletLedger{{
|
||||
ID: 7, LedgerNo: "WL7", Direction: 1, Amount: 947, Remark: "下级交易返佣",
|
||||
}}}, nil, config.AuthConfig{})
|
||||
result, err := service.WalletLedgers(context.Background(), 0, 9, 1, 20, "", "all")
|
||||
if err != nil || result.Total != 1 || len(result.Items) != 1 ||
|
||||
result.Items[0].Direction != "income" || result.Items[0].Amount != 947 {
|
||||
t.Fatalf("wallet ledgers should remain readable without encryption keys: %#v, %v", result, err)
|
||||
}
|
||||
if _, err = service.WalletLedgers(context.Background(), 0, 9, 1, 20, "", "sideways"); !errors.Is(err, ErrLedgerFilterInvalid) {
|
||||
t.Fatalf("expected invalid ledger direction, got %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestDeterministicNumberIsStableAndScoped(t *testing.T) {
|
||||
first := deterministicNumber("WD", 0, 1, "request-key")
|
||||
if first != deterministicNumber("WD", 0, 1, "request-key") || first == deterministicNumber("WD", 0, 2, "request-key") {
|
||||
|
||||
Reference in New Issue
Block a user