37 lines
1.2 KiB
Python
37 lines
1.2 KiB
Python
from aws_lambda_powertools.utilities.typing import LambdaContext
|
|
from layercake.dynamodb import DynamoDBPersistenceLayer, KeyPair
|
|
|
|
import events.billing.append_enrollment as app
|
|
|
|
|
|
def test_append_enrollment(
|
|
dynamodb_seeds,
|
|
dynamodb_persistence_layer: DynamoDBPersistenceLayer,
|
|
lambda_context: LambdaContext,
|
|
):
|
|
event = {
|
|
'detail': {
|
|
'new_image': {
|
|
'id': '945e8672-1d72-45c6-b76c-ac06aa8b52ab',
|
|
'sk': 'METADATA#SUBSCRIPTION_COVERED',
|
|
'billing_day': 6,
|
|
'created_at': '2025-07-23T18:09:22.785678-03:00',
|
|
'org_id': 'cJtK9SsnJhKPyxESe7g3DG',
|
|
}
|
|
}
|
|
}
|
|
|
|
assert app.lambda_handler(event, lambda_context) # type: ignore
|
|
|
|
r = dynamodb_persistence_layer.collection.query(
|
|
KeyPair('BILLING#ORG#cJtK9SsnJhKPyxESe7g3DG', 'START#2025-05-06#END#2025-06-05')
|
|
)
|
|
items = r['items']
|
|
|
|
assert items[0]['sk'] == 'START#2025-05-06#END#2025-06-05#SCHEDULE#AUTO_CLOSE'
|
|
assert (
|
|
items[1]['sk']
|
|
== 'START#2025-05-06#END#2025-06-05#ENROLLMENT#945e8672-1d72-45c6-b76c-ac06aa8b52ab'
|
|
)
|
|
assert items[2]['sk'] == 'START#2025-05-06#END#2025-06-05'
|