Files
saladeaula.digital/enrollments-events/tests/events/test_reenroll_if_failed.py
2025-10-06 16:37:56 -03:00

49 lines
1.5 KiB
Python

import app.events.reenroll_if_failed as app
from aws_lambda_powertools.utilities.typing import LambdaContext
from layercake.dynamodb import DynamoDBPersistenceLayer, KeyPair
def test_reenroll(
seeds,
dynamodb_persistence_layer: DynamoDBPersistenceLayer,
lambda_context: LambdaContext,
):
parent_id = '294e9864-8284-4287-b153-927b15d90900'
event = {
'detail': {
'new_image': {
'id': parent_id,
'sk': '0',
'user': {
'id': '2beb8642-aab4-4088-86d4-2966fac7c570',
'name': 'Gary Pihl',
'email': 'gary@boston.com',
'cpf': '83152103000',
},
'course': {
'id': '62bea9b7-971d-4ee8-ab56-942dc7ca6fcd',
'name': 'pytest',
},
}
}
}
assert app.lambda_handler(event, lambda_context) # type: ignore
# Parent knows the child
child_entity = dynamodb_persistence_layer.collection.get_item(
KeyPair(
pk=parent_id,
sk='LINKED_ENTITIES#ENROLLMENT#CHILD',
)
)
assert child_entity
# Child knows the parent
parent_entity = dynamodb_persistence_layer.collection.get_item(
KeyPair(
pk=child_entity['enrollment_id'],
sk='LINKED_ENTITIES#ENROLLMENT#PARENT',
)
)
assert parent_entity['enrollment_id'] == parent_id