propagated payment commentto bff
This commit is contained in:
@@ -142,3 +142,49 @@ func TestCreateCardTokenPayout_UsesOperationRefWhenReceiptOperationIDMissing(t *
|
||||
t.Fatalf("payout_id mismatch: got=%q want=%q", got, want)
|
||||
}
|
||||
}
|
||||
|
||||
func TestCreateCardPayout_SendsCommentAsSeparateParam(t *testing.T) {
|
||||
stub := &stubConnectorClient{
|
||||
submitResp: &connectorv1.SubmitOperationResponse{
|
||||
Receipt: &connectorv1.OperationReceipt{
|
||||
OperationId: "payment-4:hop_4_card_payout_send",
|
||||
Status: connectorv1.OperationStatus_OPERATION_WAITING,
|
||||
},
|
||||
},
|
||||
}
|
||||
client := &gatewayClient{client: stub, cfg: Config{}}
|
||||
|
||||
_, err := client.CreateCardPayout(context.Background(), &mntxv1.CardPayoutRequest{
|
||||
OperationRef: "payment-4:hop_4_card_payout_send",
|
||||
IdempotencyKey: "idem-4",
|
||||
AmountMinor: 1000,
|
||||
Currency: "RUB",
|
||||
Comment: "invoice-44",
|
||||
Metadata: map[string]string{
|
||||
"comment": "legacy-comment",
|
||||
"trace_id": "trace-44",
|
||||
},
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatalf("CreateCardPayout returned error: %v", err)
|
||||
}
|
||||
if stub.submitReq == nil || stub.submitReq.GetOperation() == nil {
|
||||
t.Fatal("expected submitted operation")
|
||||
}
|
||||
|
||||
fields := stub.submitReq.GetOperation().GetParams().GetFields()
|
||||
if got, want := fields["comment"].GetStringValue(), "invoice-44"; got != want {
|
||||
t.Fatalf("comment param mismatch: got=%q want=%q", got, want)
|
||||
}
|
||||
metadataField, ok := fields["metadata"]
|
||||
if !ok || metadataField == nil || metadataField.GetStructValue() == nil {
|
||||
t.Fatal("expected metadata param")
|
||||
}
|
||||
metadata := metadataField.GetStructValue().GetFields()
|
||||
if _, hasComment := metadata["comment"]; hasComment {
|
||||
t.Fatalf("metadata must not include comment key")
|
||||
}
|
||||
if got, want := metadata["trace_id"].GetStringValue(), "trace-44"; got != want {
|
||||
t.Fatalf("trace_id metadata mismatch: got=%q want=%q", got, want)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user