mirror of
https://github.com/QualityInUse/lab-testing-maksktl.git
synced 2026-08-05 13:45:26 +03:00
lab 3
This commit is contained in:
@@ -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)
|
||||
Reference in New Issue
Block a user