Files
saladeaula.digital/order-events/tests/events/billing/test_close_window.py

41 lines
1.4 KiB
Python

from aws_lambda_powertools.utilities.typing import LambdaContext
from layercake.dynamodb import (
DynamoDBPersistenceLayer,
SortKey,
TransactKey,
)
import events.billing.close_window as app
def test_close_window(
dynamodb_seeds,
dynamodb_persistence_layer: DynamoDBPersistenceLayer,
lambda_context: LambdaContext,
):
event = {
'detail': {
'new_image': {
'id': 'BILLING#ORG#BES6dmWgTMXRYmfDyYYXUF',
'sk': 'START#2025-07-01#END#2025-07-31#SCHEDULE#AUTO_CLOSE',
'created_at': '2025-07-24T15:20:52.464244-03:00',
'ttl': 1754017200,
}
}
}
assert app.lambda_handler(event, lambda_context) # type: ignore
# r = dynamodb_persistence_layer.collection.get_items(
# TransactKey('BILLING#ORG#BES6dmWgTMXRYmfDyYYXUF')
# + SortKey('START#2025-07-01#END#2025-07-31')
# + SortKey('START#2025-07-01#END#2025-07-31#SCHEDULE#AUTO_CLOSE#EXECUTED'),
# flatten_top=False,
# )
# assert 's3_uri' in r['START#2025-07-01#END#2025-07-31']
# assert 'created_at' in r['START#2025-07-01#END#2025-07-31']
# assert 'updated_at' in r['START#2025-07-01#END#2025-07-31']
# assert r['START#2025-07-01#END#2025-07-31']['status'] == 'CLOSED'
# assert 'START#2025-07-01#END#2025-07-31#SCHEDULE#AUTO_CLOSE#EXECUTED' in r