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

Программирование на C# для тестировщиков
онлайн, начало 14 мая
Первый Онлайн ИНститут Тестировщиков
онлайн, начало 18 мая
SQL для тестировщиков
онлайн, начало 17 мая
Английский для тестировщиков
онлайн, начало 17 мая
Фотография

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

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