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