This commit is contained in:
e-maks
2024-02-26 21:46:41 +03:00
parent 562fa5b8c5
commit 238bb4bb8a
7 changed files with 306 additions and 1 deletions
+43
View File
@@ -3,3 +3,46 @@
# - Test customer creation, loading, updating and deletion
# - Use mocks
from app.customer import Customer
from app.database import Database
import pytest
from unittest.mock import patch
@pytest.fixture
def db():
return Database('')
@patch('app.database.Database')
def test_customer_initialization(mock_db_class):
mock_db_instance = mock_db_class.return_value
mock_db_instance.add_customer.return_value = 26
customer = Customer(mock_db_instance, name='Maks', address='Universitetskaya 1')
assert customer.customer_id is not None
mock_db_instance.add_customer.assert_called_once_with('Maks', 'Universitetskaya 1')
@patch('app.database.Database')
def test_customer_loading(mock_db_class):
mock_db_instance = mock_db_class.return_value
customer_id = 26
mock_db_instance.get_customer.return_value = (customer_id, 'Maks', 'Universitetskaya 1')
customer = Customer(mock_db_instance, customer_id=customer_id)
assert customer.name == 'Maks'
assert customer.address == 'Universitetskaya 1'
@patch('app.database.Database')
def test_update_customer_details(mock_db_class):
mock_db_instance = mock_db_class.return_value
customer_id = 26
mock_db_instance.add_customer.return_value = customer_id
customer = Customer(mock_db_instance, customer_id=customer_id, name='Maks', address='Universitetskaya 1')
customer.update_details('Maks New', 'Universitetskaya 1/3')
mock_db_instance.update_customer.assert_called_once_with(customer_id, 'Maks New', 'Universitetskaya 1/3')
@patch('app.database.Database')
def test_delete_customer(mock_db_class):
mock_db_instance = mock_db_class.return_value
customer_id = 26
mock_db_instance.add_customer.return_value = customer_id
customer = Customer(mock_db_instance, customer_id=customer_id)
customer.delete_customer()
mock_db_instance.delete_customer.assert_called_once_with(customer_id)