1. test_calculation.py – тестирование алгоритмов расчета скидок - **test_1_discount_thresholds** – проверка пороговых значений скидок (150000, 200000, 300000). - **test_2_discount_descriptions** – проверка текстового описания скидок. - **test_3_edge_cases** – проверка граничных случаев (ровно на пороге и чуть ниже). - **test_4_negative_amounts** – проверка обработки отрицательных сумм. ________________________________________________________________________________________________________________________ 2. test_database.py – тестирование функций работы с базой данных - **test_1_connection** – проверка подключения к БД. - **test_2_calculate_discount** – проверка функции расчета скидки. - **test_3_get_discount_description** – проверка получения описания скидки. - **test_4_calculate_discount_for_new_order** – проверка расчета скидки для нового заказа с учетом предыдущих. ________________________________________________________________________________________________________________________ 3. test_integration.py – интеграционные тесты - **test_1_full_order_flow** – полный цикл создания заказа через API. - **test_2_discount_accumulation** – проверка накопления скидки при нескольких заказах. - **test_3_discount_reset_next_year** – проверка сброса скидки в новом году. - **test_4_negative_quantity_prevention** – проверка запрета отрицательного количества. - **test_5_product_deletion_with_orders** – проверка защиты от удаления товара, который есть в заказах. ________________________________________________________________________________________________________________________ 4. test_orders.py – тестирование функционала заказов - **test_1_calculate_order_total** – расчет общей суммы заказа с наценкой 10%. - **test_2_create_order_page** – доступность страницы создания заказа. - **test_3_edit_order_page** – доступность страницы редактирования заказа. - **test_4_edit_order_without_items** – редактирование заказа без изменения позиций (только дата/примечания). - **test_5_edit_order_add_new_item** – добавление новых позиций при редактировании заказа. - **test_6_delete_order** – удаление заказа. ________________________________________________________________________________________________________________________ 5. test_partners.py – тестирование функционала партнеров - **test_1_partners_page** – загрузка страницы партнеров. - **test_2_add_partner_page** – доступность страницы добавления партнера. - **test_3_edit_partner_page** – доступность страницы редактирования партнера. - **test_4_add_partner_post** – добавление партнера через POST. - **test_5_edit_partner_post** – редактирование партнера через POST. - **test_6_partner_orders_filter** – фильтрация заказов по партнеру. ________________________________________________________________________________________________________________________ 6. test_products.py – тестирование функционала товаров - **test_1_products_page** – загрузка страницы товаров. - **test_2_api_get_product** – получение товара через API. - **test_3_api_add_product** – добавление товара через API. - **test_4_api_update_product** – обновление товара через API. - **test_5_api_add_product_type** – добавление типа товара через API. - **test_6_filter_products** – фильтрация товаров по типу.