fraud-detection-service-api / tests /entity /test_transaction_api_entity.py
SlimG's picture
change tests folder structure
4009a1a
raw
history blame
1.48 kB
from src.entity.api.transaction_api import TransactionApi
from datetime import datetime, timedelta
def test_is_valid(transaction_api: TransactionApi):
"""
Test the is_valid method of the TransactionApi class
Case: valid transaction_api object
"""
# Check if the transaction_api object is valid
assert transaction_api.is_valid() is True
def test_is_valid_negative_amount(transaction_api: TransactionApi):
# Check if the transaction_api object is invalid with negative amount
transaction_api.transaction_amount = -100.0
assert transaction_api.is_valid() is False
def test_is_valid_future_timestamp(transaction_api: TransactionApi):
# Check if the transaction_api object is invalid with future timestamp
transaction_api.transaction_timestamp = 999999999999999
assert transaction_api.is_valid() is False
def test_is_valid_future_dob(transaction_api: TransactionApi):
# Check if the transaction_api object is invalid with too young date of birth
nine_years_ago = datetime.now() - timedelta(days=365 * 9) # 9 years old customer
transaction_api.customer_date_of_birth = nine_years_ago.strftime("%Y-%m-%d")
assert transaction_api.is_valid() is False
def test_is_valid_invalid_date_format(transaction_api: TransactionApi):
# Check if the transaction_api object is invalid with invalid date of birth format
transaction_api.customer_date_of_birth = "01-01-1980"
assert transaction_api.is_valid() is False