Інструкція для контриб’юторів¶
Запуск тестів¶
Щоб переконатися, що ваші зміни не порушили існуючий функціонал, важливо запускати тести перед створенням пул-реквесту. Ось як це зробити.
Вимоги¶
Перед тим, як запускати тести, переконайтеся, що у вас встановлені всі необхідні залежності. Ви можете встановити їх, використовуючи команду:
poetry install --only main,dev
Запуск тестів¶
Для запуску тестів у проекті checkbox-sdk використовується tox. Важливо пам’ятати, що сервіс Checkbox має ліміт на кількість тестових чеків — не більше 100 чеків на місяць. Після досягнення цього ліміту вам буде запропоновано зареєструвати касу та касира в ДПС для подальшої фіскальної роботи.
Попередження
Ніколи не використовуйте бойову касу чи касира для тестування. Інакше вам доведеться пояснювати податковій, чому були передані некоректні дані, і можливо, сплачувати штрафи.
Параметри запуску тестів¶
Оскільки тести орієнтовані на роботу з тестовою касою, вам необхідно передати додаткові параметри при запуску:
–login: логін касира.
–pincode: пінкод касира.
–license_key: ключ ліцензії каси.
Опціонально: - –client_email: адреса електронної пошти покупця для отримання згенерованого чеку. - –client_phone: номер телефону покупця для отримання згенерованого чеку (працює лише, якщо у вас активовано білінг).
За замовчуванням тести не генерують чеки, щоб уникнути швидкого вичерпання ліміту у 100 чеків на місяць. Якщо вам потрібно протестувати генерацію чеків, додайте параметр –check_receipt_creation.
Приклад запуску тестів:¶
Для запуску усіх тестів з параметрами, виконайте наступну команду:
tox -- --login=test_login --pincode=test_pincode --license_key=test_license --client_email=test@example.com --check_receipt_creation
Ця команда запустить всі тести, включаючи генерацію чеків, якщо доданий відповідний параметр.
Запуск окремих тестів¶
Якщо ви хочете запустити тільки певний тест або групу тестів, ви можете вказати шлях до тестового файлу або навіть до окремого тесту:
tox -- --login=test_login --pincode=test_pincode --license_key=test_license --client_email=test@example.com --check_receipt_creation tests/test_file.py
Або для запуску конкретного тесту:
tox -- --login=test_login --pincode=test_pincode --license_key=test_license --client_email=test@example.com --check_receipt_creation tests/test_file.py::test_function_name
Рекомендації¶
Пам’ятайте про ліміт у 100 тестових чеків на місяць.
Уникайте використання бойових кас та касирів для тестування.
Перед створенням пул-реквесту переконайтеся, що всі тести проходять успішно.
Напишіть нові тести для будь-якого нового функціоналу або змін.
Регулярно запускайте тести під час розробки, щоб бути впевненим, що ваш код працює коректно.
Дотримуючись цих інструкцій, ви допоможете зберегти стабільність проекту та полегшите рев’ю вашого коду.