Перейти к содержимому

Тестирование REST API
онлайн, начало 2 ноября
Тестирование безопасности
онлайн, начало 28 октября
Практикум по тест-дизайну 2.0
онлайн, начало 30 октября
Автоматизатор мобильных приложений
онлайн, начало 28 октября
Фотография

Использование массивов в тестах в Postman

postman

  • Авторизуйтесь для ответа в теме
В теме одно сообщение

#1 GrossmasteR

GrossmasteR

    Новый участник

  • Members
  • Pip
  • 16 сообщений

Отправлено 26 июня 2020 - 05:31

отправляю запрос на покупку товара. В теле передается например
 

   "products":[
            {
                "id":"1",
                "quantity":3
            },
            {
                "id":"5",
                "quantity":2
            }
        ]

В теле ответа:

"order": {
            "id": "",
            "user": {
                "id": ,
                "email": ""
            },
            "products": [
                {
                    "product": {
                        "id": "1",
                        "description": "",
                        "name": "",
                        "price": 100,
                        "iamgeUrl": ""
                    },
                    "quantity": 3
                },
                {
                    "product": {
                        "id": "5",
                        "description": "",
                        "name": "",
                        "price": 500,
                        "iamgeUrl": ""
                    },
                    "quantity": 2
                }
            ],
            "totalQuantity": 5,
            "status": "paid",
            "totalSum": 1170
        }

Задача: с помощью Postman протестировать, что скидка (10% при более 3 единиц товара) считается верно. Проблема в том, что товар может быть 1, а может быть больше и тоже с количеством. Как написать эту логику, пожалуйста, подскажите?

  • 0

#2 GrossmasteR

GrossmasteR

    Новый участник

  • Members
  • Pip
  • 16 сообщений

Отправлено 26 июня 2020 - 06:36

Пока получается как-то так:

pm.test("The amount is calculated correctly", function () {
    var jsonData = pm.response.json();
    let sum = 0;
    jsonData.transaction.order.products.forEach(item => {
        sum += item.quantity * item.product.price;
    });
    if (jsonData.transaction.order.totalQuantity >= 3) {
        if (jsonData.transaction.order.totalSum === sum * 0.9) {
            return true;
        }
    }
    return false;
});
Как бы завернуть это в тест?

  • 0


Первый Онлайн ИНститут Тестировщиков
онлайн
Школа для начинающих тестировщиков
онлайн
Логи как инструмент тестировщика
онлайн
Selenium 2.0: стартовый уровень
онлайн




Темы с аналогичным тегами postman

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных

Яндекс.Метрика
Реклама на портале