lab-testing-maksktl created by GitHub Classroom
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

# - 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)