Sobes.tech
Senior

მეთოდი ახორციელებს შეკვეთის განთავსებას საიტზე. მიღებს: 1 პროდუქტებით გამოგზავნილების სია 2 თითოეული გამოგზავნისთვის მოსალოდნელი მიწოდების თარიღი 3 მიწოდების მისამართი კომენტარებით 4 გადახდის მეთოდი, მაგალითად, ბარათი. address.comment-ის სიგრძის ლიმიტი - 200 სიმბოლო shipments-ის სიგრძის ლიმიტი - 200 ობიექტი ამ მეთოდის ტესტირება უნდა მოხდეს (შესამოწმებელი სია შექმნათ). POST /order { "shipments": [ // პროდუქტებით გამოგზავნილები/საფუთები { "id": "number", "date": "number" // მოსალოდნელი მიწოდების თარიღი } ], "adress": { "id": "number", "comment": "string", "is_leave_at_door": "boolean" // დატოვეთ კარებთან }, "payment_method": "string" # card / apple_pay }

sobes.tech AI

პასუხი AI-სგან

Чек-лист тестирования метода POST /order:

  1. Валидация входных данных:

    • Проверить, что поле shipments присутствует и содержит не более 200 объектов.
    • Проверить, что каждый объект в shipments содержит корректные поля id (число) и date (число, валидная дата).
    • Проверить, что поле adress присутствует и содержит id (число), comment (строка, не более 200 символов), is_leave_at_door (булево).
    • Проверить, что поле payment_method содержит допустимые значения (card, apple_pay).
  2. Граничные значения:

    • Отправить запрос с 0, 1, 200 и более 200 отправлениями.
    • Проверить длину adress.comment на 0, 200 и более 200 символов.
  3. Формат и типы данных:

    • Передать неверные типы данных (строка вместо числа, число вместо булева).
    • Отправить пустые или отсутствующие поля.
  4. Логика обработки:

    • Проверить, что заказ создаётся корректно при валидных данных.
    • Проверить поведение при невалидных данных (ожидается ошибка с понятным сообщением).
  5. Безопасность:

    • Проверить защиту от SQL-инъекций в полях comment и других.
    • Проверить, что метод требует авторизации, если это предусмотрено.
  6. Производительность:

    • Проверить время отклика при максимальном количестве отправлений.
  7. Дополнительные проверки:

    • Проверить, что поле 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 символов.