Senior
Metoda vrši narudžbinu na sajtu. Prima: 1 Lista pošiljki sa proizvodima 2 Očekivani datum primanja za svaku pošiljku 3 Adresa primanja sa komentarima 4 Metoda plaćanja, na primer, bankarska kartica. Ograničenje dužine za address.comment je 200 karaktera Ograničenje dužine za shipments je 200 objekata Potrebno je testirati ovu metodu (napraviti listu provera).
sobes.tech АИ
Одговор од АИ
Чек-лист тестирования метода 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 символов.