Files
saladeaula.digital/enrollments-events/tests/events/test_reenroll_if_failed.py

48 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,
):
event = {
'detail': {
'new_image': {
'id': '294e9864-8284-4287-b153-927b15d90900',
'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_entity = dynamodb_persistence_layer.collection.get_item(
KeyPair(
pk='294e9864-8284-4287-b153-927b15d90900',
sk='LINKED_ENTITIES#ENROLLMENT',
)
)
assert parent_entity['kind'] == 'CHILD'
child_entity = dynamodb_persistence_layer.collection.get_item(
KeyPair(
pk=parent_entity['enrollment_id'],
sk='LINKED_ENTITIES#ENROLLMENT',
)
)
assert child_entity['enrollment_id'] == parent_entity['id']
assert child_entity['kind'] == 'PARENT'