Как проверить массив с необязательными ключами объектов внутри, которые должны быть проверены на наличие необходимых ключей в каратэ?

Я пытаюсь проверить схему ответа API с помощью этой структуры в каратэ:

{
  "payoutQuotes": [ //could be empty or not but when not empty must have the required object structure inside
    {
      "customerDomain": {
        "financialAccountData": { 
          "payoutQuoteId": "#number",
          "payoutQuoteExpiryDate": "#? isValidDate(_)",
          "totalAmountOfPayoutQuote": "#number",
          "payoutQuoteCreateDate": "#? isValidDate(_)",
          "payoutRequestedBy": "#string"
        }
      }
    }
  ]
}

Теперь, если ответ возвращает пустой массив «payoutQuotes», это приемлемо, но когда он также содержит объекты внутри, я хочу проверить, что они имеют правильные требуемые комбинации ключ-значение. Обратите внимание, что эта схема сохранена в виде отдельного файла в моей папке данных проекта, который будет использоваться для проверки моей схемы.

Как сделать HTTP-запрос в Javascript?
Как сделать HTTP-запрос в Javascript?
В JavaScript вы можете сделать HTTP-запрос, используя объект XMLHttpRequest или более новый API fetch. Вот пример для обоих методов:
Создание ресурсов API Laravel: Советы по производительности и масштабируемости
Создание ресурсов API Laravel: Советы по производительности и масштабируемости
Создание API-ресурса Laravel может быть непростой задачей. Она требует глубокого понимания возможностей Laravel и лучших практик, чтобы обеспечить...
Как создать простое погодное приложение на Python с API OpenWeatherMap
Как создать простое погодное приложение на Python с API OpenWeatherMap
Этот учебник проведет вас через процесс создания простого погодного приложения с помощью Python и OpenWeatherMap API.
Пакеты Java
Пакеты Java
Пакет java - это группа классов, интерфейсов и подпакетов схожего типа. Думайте об этом как о папке в каталоге файлов. Мы используем пакеты, чтобы...
Как использовать API парсинга квитанций с помощью JavaScript за 5 минут?
Как использовать API парсинга квитанций с помощью JavaScript за 5 минут?
В этом руководстве вы узнаете, как использовать API парсинга квитанций за 5 минут с помощью JavaScript. Eden AI предоставляет простой и удобный для...
1
0
29
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вот подход, он должен быть простым. Вы можете прочитать значение quote из одного файла.

* def quote = { foo: '#string' }
* def response1 = { payout: [] }
* def response2 = { payout: [{ foo: 'bar' }] }
* match response1 == { payout: '#[] quote' }
* match response2 == { payout: '#[] quote' }

Как вы предложили, я обновил файл Json своей схемы, чтобы он стал подсхемой, которая проверяет объект внутри массива, и написал свою строку оценки как: And match response == {"payoutQuotes": '#[] PayoutQuoteHistorySuccessSchema'} И это сработало ... спасибо, @peter

Mo Pishdar 18.03.2022 07:26

Другие вопросы по теме