Files
octopus/myproject/customers/tests/__init__.py
Andrey Smakotin dbbac933af Добавлены тесты защиты системного клиента и рефакторинг структуры тестов
- Создан новый класс SystemCustomerProtectionTestCase с 5 критичными тестами
- Тест создания системного клиента с правильными атрибутами
- Тест защиты от удаления системного клиента (ValidationError)
- Тест защиты email системного клиента от изменения
- Тест защиты флага is_system_customer от изменения
- Тест что обычные клиенты не затронуты защитой

- Исправлена логика в Customer.save(): проверка теперь использует original.is_system_customer
- Добавлен импорт ValidationError из django.core.exceptions

- Рефакторинг структуры тестов customers:
  - Разделены тесты по отдельным модулям в папке customers/tests/
  - test_search_strategies.py - тесты стратегий поиска
  - test_system_customer.py - тесты защиты системного клиента
  - test_wallet_balance.py - тесты баланса кошелька
  - test_wallet_service.py - тесты WalletService
  - test_wallet_model.py - тесты модели WalletTransaction

- Обновлён анализ тестов: 50 тестов (было 45), все проходят успешно
- Критичная функциональность POS системы теперь покрыта тестами
- Учтена tenant-система (используется TenantTestCase)
2025-12-28 00:32:45 +03:00

30 lines
1.1 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# -*- coding: utf-8 -*-
"""
Тесты для модуля customers.
Все тесты организованы по функциональным областям в отдельных модулях.
"""
from .test_search_strategies import DetermineSearchStrategyTestCase, IsQueryPhoneOnlyTestCase
from .test_wallet_balance import WalletBalanceCalculationTestCase
from .test_wallet_model import WalletTransactionModelTestCase
from .test_wallet_service import WalletServiceTestCase
from .test_system_customer import SystemCustomerProtectionTestCase
__all__ = [
# Тесты стратегий поиска клиентов
'DetermineSearchStrategyTestCase',
'IsQueryPhoneOnlyTestCase',
# Тесты баланса кошелька
'WalletBalanceCalculationTestCase',
# Тесты модели транзакций
'WalletTransactionModelTestCase',
# Тесты сервиса кошелька
'WalletServiceTestCase',
# Тесты защиты системного клиента
'SystemCustomerProtectionTestCase',
]