add payment retries

This commit is contained in:
2026-01-15 19:33:32 -03:00
parent 6d078d178b
commit ca52384b53
7 changed files with 116 additions and 1 deletions

View File

@@ -0,0 +1,38 @@
from http import HTTPMethod, HTTPStatus
from layercake.dynamodb import DynamoDBPersistenceLayer, KeyPair
from ...conftest import HttpApiProxy, LambdaContext
def test_payment_retries(
app,
seeds,
http_api_proxy: HttpApiProxy,
dynamodb_persistence_layer: DynamoDBPersistenceLayer,
lambda_context: LambdaContext,
):
r = app.lambda_handler(
http_api_proxy(
raw_path='/orders/4b23f6f5-5377-476b-b1de-79427c0295f6/payment-retries',
method=HTTPMethod.POST,
body={
'invoice_id': '123',
'credit_card': {
'holder_name': 'Sergio R Siqueira',
'number': '4111111111111111',
'exp_month': '01',
'exp_year': '2026',
'cvv': '123',
},
'installments': 3,
},
),
lambda_context,
)
assert r['statusCode'] == HTTPStatus.CREATED
r = dynamodb_persistence_layer.collection.get_item(
KeyPair('4b23f6f5-5377-476b-b1de-79427c0295f6', 'TRANSACTION')
)
assert r['credit_card']['number'] == '4111111111111111'

View File

@@ -26,6 +26,11 @@
{"id": "orgmembers#f6000f79-6e5c-49a0-952f-3bda330ef278", "sk": "15bacf02-1535-4bee-9022-19d106fd7518"}
// Seeds for Order
// file: tests/routes/orders/test_payment_retries.py
{"id": "4b23f6f5-5377-476b-b1de-79427c0295f6", "sk": "0", "installments": 3}
{"id": "4b23f6f5-5377-476b-b1de-79427c0295f6", "sk": "INVOICE", "invoice_id": "123"}
// Indicies
// CNPJs
{"id": "cnpj", "sk": "04978826000180", "org_id": "2a8963fc-4694-4fe2-953a-316d1b10f1f5"}