Files

41 lines
1.1 KiB
Python

from http import HTTPMethod, HTTPStatus
from layercake.dynamodb import (
DynamoDBPersistenceLayer,
KeyPair,
)
from ...conftest import HttpApiProxy, LambdaContext
def test_add_subscription(
app,
seeds,
http_api_proxy: HttpApiProxy,
dynamodb_persistence_layer: DynamoDBPersistenceLayer,
lambda_context: LambdaContext,
):
org_id = 'e63a579a-4719-4d64-816f-f1650ca73753'
r = app.lambda_handler(
http_api_proxy(
raw_path=f'/orgs/{org_id}/subscription',
method=HTTPMethod.POST,
body={
'name': 'pytest',
'billing_day': 1,
},
),
lambda_context,
)
assert r['statusCode'] == HTTPStatus.CREATED
r = dynamodb_persistence_layer.collection.get_items(
KeyPair(org_id, '0')
+ KeyPair(org_id, 'METADATA#SUBSCRIPTION', rename_key='metadata')
+ KeyPair('SUBSCRIPTION', f'ORG#{org_id}', rename_key='subscription')
)
assert r['metadata']['billing_day'] == 1
# assert r['metadata']['payment_method'] == 'MANUAL'
assert r['subscription']['name'] == 'pytest'