Senior
Yöntəm veb saytında sifariş vermək üçün istifadə olunur. Qəbul edir: 1 Məhsullarla göndərişlərin siyahısı 2 Hər göndəriş üçün gözlənilən çatdırılma tarixi 3 Çatdırılma ünvanı və şərhlər 4 Ödəniş üsulu, məsələn, bank kartı. adress.comment uzunluq limiti 200 simvol shipments uzunluq limiti 200 obyekt Bu metodu sınaqdan keçirmək (yoxlamalar üçün yoxlama siyahısı hazırlamaq) lazımdır. POST /order { "shipments": [ // məhsullarla göndərişlər/qutular { "id": "number", "date": "number" // Gözlənilən çatdırılma tarixi } ], "adress": { "id": "number", "comment": "string", "is_leave_at_door": "boolean" // qapıda buraxmaq }, "payment_method": "string" # card / apple_pay }
sobes.tech Süni İntellekt
AI-dan cavab
Чек-лист тестирования метода POST /order:
-
Валидация входных данных:
- Проверить, что поле
shipmentsприсутствует и содержит не более 200 объектов. - Проверить, что каждый объект в
shipmentsсодержит корректные поляid(число) иdate(число, валидная дата). - Проверить, что поле
adressприсутствует и содержитid(число),comment(строка, не более 200 символов),is_leave_at_door(булево). - Проверить, что поле
payment_methodсодержит допустимые значения (card,apple_pay).
- Проверить, что поле
-
Граничные значения:
- Отправить запрос с 0, 1, 200 и более 200 отправлениями.
- Проверить длину
adress.commentна 0, 200 и более 200 символов.
-
Формат и типы данных:
- Передать неверные типы данных (строка вместо числа, число вместо булева).
- Отправить пустые или отсутствующие поля.
-
Логика обработки:
- Проверить, что заказ создаётся корректно при валидных данных.
- Проверить поведение при невалидных данных (ожидается ошибка с понятным сообщением).
-
Безопасность:
- Проверить защиту от SQL-инъекций в полях
commentи других. - Проверить, что метод требует авторизации, если это предусмотрено.
- Проверить защиту от SQL-инъекций в полях
-
Производительность:
- Проверить время отклика при максимальном количестве отправлений.
-
Дополнительные проверки:
- Проверить, что поле
is_leave_at_doorкорректно влияет на логику доставки.
- Проверить, что поле
Пример теста на длину комментария:
{
"shipments": [{"id": 1, "date": 1686000000}],
"adress": {"id": 10, "comment": "a".repeat(201), "is_leave_at_door": true},
"payment_method": "card"
}
Ожидается ошибка из-за превышения лимита в 200 символов.