finish seat
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
from aws_lambda_powertools.utilities.typing import LambdaContext
|
||||
from layercake.dynamodb import DynamoDBPersistenceLayer
|
||||
from layercake.dynamodb import DynamoDBPersistenceLayer, KeyPair, PartitionKey
|
||||
|
||||
import events.start_fulfillment as app
|
||||
|
||||
@@ -9,12 +9,14 @@ def test_fulfillment_enrollments(
|
||||
dynamodb_persistence_layer: DynamoDBPersistenceLayer,
|
||||
lambda_context: LambdaContext,
|
||||
):
|
||||
order_id = '9b9441d2-4ae3-4b50-8cb6-71e872d4492a'
|
||||
org_id = 'fee6f09b-e9fe-468d-b783-3dea5279d4dc'
|
||||
event = {
|
||||
'detail': {
|
||||
'new_image': {
|
||||
'id': '9b9441d2-4ae3-4b50-8cb6-71e872d4492a',
|
||||
'id': order_id,
|
||||
'sk': 'FULFILLMENT',
|
||||
'org_id': 'cJtK9SsnJhKPyxESe7g3DG',
|
||||
'org_id': org_id,
|
||||
'status': 'IN_PROGRESS',
|
||||
}
|
||||
}
|
||||
@@ -22,21 +24,42 @@ def test_fulfillment_enrollments(
|
||||
|
||||
assert app.lambda_handler(event, lambda_context) # type: ignore
|
||||
|
||||
r = dynamodb_persistence_layer.collection.query(
|
||||
KeyPair(order_id, 'ENROLLMENT#'),
|
||||
)
|
||||
assert len(r['items']) == 3
|
||||
|
||||
seats = dynamodb_persistence_layer.collection.query(
|
||||
PartitionKey(f'SEAT#ORG#{org_id}')
|
||||
)
|
||||
assert len(seats['items']) == 1
|
||||
|
||||
scheduled = dynamodb_persistence_layer.collection.query(
|
||||
PartitionKey(f'SCHEDULED#ORG#{org_id}')
|
||||
)
|
||||
assert len(scheduled['items']) == 1
|
||||
|
||||
|
||||
def test_fulfillment_items(
|
||||
dynamodb_seeds,
|
||||
dynamodb_persistence_layer: DynamoDBPersistenceLayer,
|
||||
lambda_context: LambdaContext,
|
||||
):
|
||||
org_id = 'fee6f09b-e9fe-468d-b783-3dea5279d4dc'
|
||||
event = {
|
||||
'detail': {
|
||||
'new_image': {
|
||||
'id': '9f7fa055-7c0b-418a-b023-77477d1895b9',
|
||||
'sk': 'FULFILLMENT',
|
||||
'org_id': 'cJtK9SsnJhKPyxESe7g3DG',
|
||||
'org_id': org_id,
|
||||
'status': 'IN_PROGRESS',
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
assert app.lambda_handler(event, lambda_context) # type: ignore
|
||||
|
||||
seats = dynamodb_persistence_layer.collection.query(
|
||||
PartitionKey(f'SEAT#ORG#{org_id}')
|
||||
)
|
||||
assert len(seats['items']) == 2
|
||||
|
||||
@@ -15,12 +15,21 @@
|
||||
{"id": "2849f1d5-f4f1-411e-8497-ec3a40afc0ab", "sk": "ADDRESS", "city": "São José", "postcode": "88101001", "state": "SC", "created_at": "2026-01-07T19:09:54.193859-03:00", "address1": "Avenida Presidente Kennedy", "address2": "", "neighborhood": "Campinas"}
|
||||
|
||||
// Seeds for Order
|
||||
// file: tests/events/test_start_fulfillment.py
|
||||
// file: tests/events/test_start_fulfillment.py::test_fulfillment_enrollments
|
||||
{"id": "9b9441d2-4ae3-4b50-8cb6-71e872d4492a", "sk": "0", "name": "EDUSEG", "org_id": "fee6f09b-e9fe-468d-b783-3dea5279d4dc"}
|
||||
{"id": "9b9441d2-4ae3-4b50-8cb6-71e872d4492a", "sk": "ITEMS", "items": [ { "name": "Combate a Incêndio", "id": "4866c068-577a-45b0-b41a-41a7dc6b9ab7", "quantity": 2, "unit_price": 99 } ], "created_at": "2026-01-20T13:05:52.737256-03:00"}
|
||||
{"id": "9b9441d2-4ae3-4b50-8cb6-71e872d4492a", "sk": "ENROLLMENT#7d3f5457-8533-4f27-a0a4-ffa209a93f7d", "course": { "name": "Combate a Incêndio", "id": "4866c068-577a-45b0-b41a-41a7dc6b9ab7", "access_period": 365 }, "user": { "name": "Maitê L Siqueira", "cpf": "02186829991", "id": "87606a7f-de56-4198-a91d-b6967499d382", "email": "osergiosiqueira+maite@gmail.com" }, "created_at": "2026-01-20T13:05:52.737256-03:00", "status": "PENDING"}
|
||||
{"id": "9b9441d2-4ae3-4b50-8cb6-71e872d4492a", "sk": "ENROLLMENT#9576855e-b259-4f3e-8315-1612a5cb8c36", "user": { "name": "Sérgio Rafael de Siqueira", "cpf": "07879819908", "id": "5OxmMjL-ujoR5IMGegQz", "email": "sergio@somosbeta.com.br" }, "course": { "name": "Combate a Incêndio", "id": "4866c068-577a-45b0-b41a-41a7dc6b9ab7", "access_period": 365 }, "created_at": "2026-01-20T13:05:52.737256-03:00", "status": "PENDING"}
|
||||
// Seeds for Order
|
||||
{"id": "9b9441d2-4ae3-4b50-8cb6-71e872d4492a", "sk": "ENROLLMENT#792ac025-578c-48ab-95a8-5721fcf8fc64", "user": { "name": "Sérgio Rafael de Siqueira", "cpf": "07879819908", "id": "5OxmMjL-ujoR5IMGegQz", "email": "sergio@somosbeta.com.br" }, "course": { "name": "Combate a Incêndio", "id": "4866c068-577a-45b0-b41a-41a7dc6b9ab7", "access_period": 365 }, "created_at": "2026-01-20T13:05:52.737256-03:00", "status": "PENDING", "scheduled_for": "2030-01-02"}
|
||||
{"id": "9b9441d2-4ae3-4b50-8cb6-71e872d4492a", "sk": "CREATED_BY", "user_id": "123", "name": "Avril Lavigne"}
|
||||
{"id": "LOCK", "sk": "9b8beacfe6ff442ec389d30d3e0bc085"}
|
||||
// Org
|
||||
{"id": "fee6f09b-e9fe-468d-b783-3dea5279d4dc", "sk": "0", "name": "EDUSEG"}
|
||||
// Course
|
||||
{"id": "4866c068-577a-45b0-b41a-41a7dc6b9ab7", "sk": "0", "name": "Combate a Incêndio", "access_period": 365}
|
||||
// file: tests/events/test_start_fulfillment.py::test_fulfillment_items
|
||||
{"id": "9f7fa055-7c0b-418a-b023-77477d1895b9", "sk": "ITEMS", "items": [ { "name": "Combate a Incêndio", "id": "4866c068-577a-45b0-b41a-41a7dc6b9ab7", "quantity": 2, "unit_price": 99 } ], "created_at": "2026-01-20T13:05:52.737256-03:00"}
|
||||
{"id": "9f7fa055-7c0b-418a-b023-77477d1895b9", "sk": "CREATED_BY", "user_id": "123", "name": "Avril Lavigne"}
|
||||
|
||||
|
||||
// Seeds for Iugu
|
||||
|
||||
Reference in New Issue
Block a user