mirror of
https://github.com/QualityInUse/lab-testing-maksktl.git
synced 2026-08-05 16:35:27 +03:00
48 lines
2.0 KiB
Python
48 lines
2.0 KiB
Python
# - In this file, you have to add your tests on Customer module.
|
|
# - See, app/customer.py
|
|
# - 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) |