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

Школа Тест-Аналитика
онлайн, начало 23 сентября
Программирование на Java для тестировщиков
онлайн, начало 18 сентября
Программирование на Python для тестировщиков
онлайн, начало 18 сентября
Тестирование REST API
онлайн, начало 21 сентября
Фотография

Использование массивов в тестах в 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 анонимных

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