complete MECE request
This commit is contained in:
@@ -5,6 +5,7 @@ import 'package:test/test.dart';
|
||||
import 'package:pshared/api/requests/payment/initiate.dart';
|
||||
import 'package:pshared/api/requests/payment/initiate_payments.dart';
|
||||
import 'package:pshared/api/requests/payment/quote.dart';
|
||||
import 'package:pshared/api/responses/payment/quotation.dart';
|
||||
import 'package:pshared/data/dto/money.dart';
|
||||
import 'package:pshared/data/dto/payment/endpoint.dart';
|
||||
import 'package:pshared/data/dto/payment/intent/payment.dart';
|
||||
@@ -40,7 +41,7 @@ void main() {
|
||||
|
||||
test('quote payment request uses expected backend field names', () {
|
||||
final request = QuotePaymentRequest(
|
||||
idempotencyKey: 'idem-1',
|
||||
idempotencyKey: '',
|
||||
previewOnly: true,
|
||||
intent: const PaymentIntentDTO(
|
||||
kind: 'payout',
|
||||
@@ -60,7 +61,7 @@ void main() {
|
||||
final json =
|
||||
jsonDecode(jsonEncode(request.toJson())) as Map<String, dynamic>;
|
||||
|
||||
expect(json['idempotencyKey'], equals('idem-1'));
|
||||
expect(json['idempotencyKey'], equals(''));
|
||||
expect(json['previewOnly'], isTrue);
|
||||
expect(json['intent'], isA<Map<String, dynamic>>());
|
||||
|
||||
@@ -75,6 +76,34 @@ void main() {
|
||||
expect(destination['type'], equals('cardToken'));
|
||||
});
|
||||
|
||||
test('quote response parses backend fx quote pricedAtUnixMs', () {
|
||||
final response = PaymentQuoteResponse.fromJson({
|
||||
'accessToken': {'token': 'token', 'expiration': '2026-02-25T00:00:00Z'},
|
||||
'idempotencyKey': 'idem-1',
|
||||
'quote': {
|
||||
'quoteRef': 'q-1',
|
||||
'debitAmount': {'amount': '10', 'currency': 'USDT'},
|
||||
'expectedSettlementAmount': {'amount': '760', 'currency': 'RUB'},
|
||||
'fxQuote': {
|
||||
'quoteRef': 'fx-1',
|
||||
'baseCurrency': 'USDT',
|
||||
'quoteCurrency': 'RUB',
|
||||
'side': 'sell_base_buy_quote',
|
||||
'price': '76',
|
||||
'baseAmount': {'amount': '10', 'currency': 'USDT'},
|
||||
'quoteAmount': {'amount': '760', 'currency': 'RUB'},
|
||||
'expiresAtUnixMs': 1771945907749,
|
||||
'pricedAtUnixMs': 1771945907000,
|
||||
'provider': 'binance',
|
||||
'rateRef': 'rate-1',
|
||||
'firm': false,
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
expect(response.quote.fxQuote?.pricedAtUnixMs, equals(1771945907000));
|
||||
});
|
||||
|
||||
test('initiate payment by quote keeps expected fields', () {
|
||||
final request = InitiatePaymentRequest(
|
||||
idempotencyKey: 'idem-2',
|
||||
|
||||
Reference in New Issue
Block a user