You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
1.1 KiB
31 lines
1.1 KiB
# - In this file, you have to add your tests on Account module. |
|
# - See, app/account.py |
|
# - Test account creation and deletion |
|
# - Use mocks |
|
|
|
from app.account import Account |
|
from app.database import Database |
|
|
|
import pytest |
|
from unittest.mock import patch |
|
|
|
@pytest.fixture |
|
def db(): |
|
return Database("") |
|
|
|
@patch('app.database.Database') |
|
def test_account_creation(mock_db_class): |
|
mock_db_instance = mock_db_class.return_value |
|
mock_db_instance.add_account.return_value = 26 |
|
account = Account(mock_db_instance, customer_id=1, account_type="checking", balance=1000.0) |
|
assert account.account_id == 26 |
|
mock_db_instance.add_account.assert_called_once_with(1, "checking", 1000.0) |
|
|
|
@patch('app.database.Database') |
|
def test_delete_account(mock_db_class): |
|
mock_db_instance = mock_db_class.return_value |
|
mock_db_instance.add_account.return_value = 26 |
|
mock_db_instance.get_account.return_value = (26, 1, "checking", 1000.0) |
|
account = Account(mock_db_instance, customer_id=1, account_type="checking", balance=1000.0) |
|
account.delete_account(account.account_id) |
|
mock_db_instance.delete_account.assert_called_once_with(account.account_id) |