add endpoint

This commit is contained in:
2025-07-25 12:45:03 -03:00
parent 5eae098098
commit bb847ecc8b
7 changed files with 82 additions and 129 deletions

View File

@@ -0,0 +1,69 @@
import json
from http import HTTPMethod, HTTPStatus
from ..conftest import HttpApiProxy, LambdaContext
def test_billing(
mock_app,
dynamodb_seeds,
http_api_proxy: HttpApiProxy,
lambda_context: LambdaContext,
):
org_id = 'edp8njvgQuzNkLx2ySNfAD'
# This data was added from seeds
r = mock_app.lambda_handler(
http_api_proxy(
raw_path=f'/billing/{org_id}',
method=HTTPMethod.GET,
queryStringParameters={
'start_date': '2025-07-01',
'end_date': '2025-07-31',
},
),
lambda_context,
)
assert r['statusCode'] == HTTPStatus.OK
data = json.loads(r['body'])
expected = [
{
'sk': 'START#2025-07-01#END#2025-07-31#SCHEDULE#AUTO_CLOSE',
'created_at': '2025-07-24T15:46:43.312549-03:00',
'id': 'BILLING#ORG#edp8njvgQuzNkLx2ySNfAD',
'ttl': 1754017200,
},
{
'enrolled_at': '2025-07-25T03:31:11.736247-03:00',
'author': {'name': 'Carolina Brand', 'id': 'SMEXYk5MQkKCzknJpxqr8n'},
'sk': 'START#2025-07-01#END#2025-07-31#ENROLLMENT#d2124d5a-caaf-4e27-9edb-8380faf15f35',
'course': {
'name': 'NR-11 Transporte, movimentação, armazenagem e manuseio de materiais',
'id': 'a810dd22-56c0-4d9b-8cd2-7e2ee9c45839',
},
'created_at': '2025-07-25T03:31:17.306858-03:00',
'id': 'BILLING#ORG#edp8njvgQuzNkLx2ySNfAD',
'unit_price': 87.2,
'user': {'name': 'ERICK ALVES DOS SANTOS', 'id': '02157895558'},
},
{
'enrolled_at': '2025-07-24T15:46:37.162960-03:00',
'author': {'name': 'Carolina Brand', 'id': 'SMEXYk5MQkKCzknJpxqr8n'},
'sk': 'START#2025-07-01#END#2025-07-31#ENROLLMENT#556e99cf-18b2-459c-a46d-f71a807ba551',
'course': {
'name': 'NR-06 - Equipamento de Proteção Individual - EPI',
'id': '5c119d4b-573c-4d8d-a99d-63756af2f4c5',
},
'created_at': '2025-07-24T16:42:41.673797-03:00',
'id': 'BILLING#ORG#edp8njvgQuzNkLx2ySNfAD',
'unit_price': 79.2,
'user': {'name': 'ERICK ALVES DOS SANTOS', 'id': '02157895558'},
},
{
'sk': 'START#2025-07-01#END#2025-07-31',
'created_at': '2025-07-24T15:46:43.312549-03:00',
'id': 'BILLING#ORG#edp8njvgQuzNkLx2ySNfAD',
'status': 'PENDING',
},
]
assert data['items'] == expected

View File

@@ -34,4 +34,8 @@
{"sk": {"S": "nfse"}, "nfse": {"S": "10384"}, "id": {"S": "KpZTYvu4RzgMJW3A2DF6cC"}, "create_date": {"S": "2024-02-08T09:05:03.879692-03:00"}}
{"sk": {"S": "user"}, "user_id": {"S": "5AZXXXCWa2bU4spsxfLznx"}, "id": {"S": "KpZTYvu4RzgMJW3A2DF6cC"}, "create_date": {"S": "2024-02-08T08:42:05.190415-03:00"}}
{"id": {"S": "15ee05a3-4ceb-4b7e-9979-db75b28c9ade"}, "sk": {"S": "0"}, "name": {"S": "pytest"}}
{"id": {"S": "CUSTOM_PRICING#ORG#cJtK9SsnJhKPyxESe7g3DG"}, "sk": {"S": "COURSE#281198c2-f293-4acc-b96e-e4a2d5f6b73c"}, "unit_price": {"N": "199"}}
{"id": {"S": "CUSTOM_PRICING#ORG#cJtK9SsnJhKPyxESe7g3DG"}, "sk": {"S": "COURSE#281198c2-f293-4acc-b96e-e4a2d5f6b73c"}, "unit_price": {"N": "199"}}
{"id": {"S": "BILLING#ORG#edp8njvgQuzNkLx2ySNfAD"},"sk": {"S": "START#2025-07-01#END#2025-07-31"},"created_at": {"S": "2025-07-24T15:46:43.312549-03:00"},"status": {"S": "PENDING"}}
{"id": {"S": "BILLING#ORG#edp8njvgQuzNkLx2ySNfAD"},"sk": {"S": "START#2025-07-01#END#2025-07-31#ENROLLMENT#556e99cf-18b2-459c-a46d-f71a807ba551"},"author": {"M": {"id": {"S": "SMEXYk5MQkKCzknJpxqr8n"},"name": {"S": "Carolina Brand"}}},"course": {"M": {"id": {"S": "5c119d4b-573c-4d8d-a99d-63756af2f4c5"},"name": {"S": "NR-06 - Equipamento de Proteção Individual - EPI"}}},"created_at": {"S": "2025-07-24T16:42:41.673797-03:00"},"enrolled_at": {"S": "2025-07-24T15:46:37.162960-03:00"},"unit_price": {"N": "79.2"},"user": {"M": {"id": {"S": "02157895558"},"name": {"S": "ERICK ALVES DOS SANTOS"}}}}
{"id": {"S": "BILLING#ORG#edp8njvgQuzNkLx2ySNfAD"},"sk": {"S": "START#2025-07-01#END#2025-07-31#ENROLLMENT#d2124d5a-caaf-4e27-9edb-8380faf15f35"},"author": {"M": {"id": {"S": "SMEXYk5MQkKCzknJpxqr8n"},"name": {"S": "Carolina Brand"}}},"course": {"M": {"id": {"S": "a810dd22-56c0-4d9b-8cd2-7e2ee9c45839"},"name": {"S": "NR-11 Transporte, movimentação, armazenagem e manuseio de materiais"}}},"created_at": {"S": "2025-07-25T03:31:17.306858-03:00"},"enrolled_at": {"S": "2025-07-25T03:31:11.736247-03:00"},"unit_price": {"N": "87.2"},"user": {"M": {"id": {"S": "02157895558"},"name": {"S": "ERICK ALVES DOS SANTOS"}}}}
{"id": {"S": "BILLING#ORG#edp8njvgQuzNkLx2ySNfAD"},"sk": {"S": "START#2025-07-01#END#2025-07-31#SCHEDULE#AUTO_CLOSE"},"created_at": {"S": "2025-07-24T15:46:43.312549-03:00"},"ttl": {"N": "1754017200"}}