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'