File size: 1,476 Bytes
4aed8ef
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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