Подходим каждый предмет в каратэ - PullRequest
1 голос
/ 23 октября 2019

Я хотел бы заявить, что цена брутто больше, чем равна price_net. Подскажите, пожалуйста, как мне этого добиться? Это то, что я сделал в банкомате.

Scenario: Testing

* def response =

"""
{
  "prices": [
    { "price_net":"10.50", "price_gross":"12.25" },
    { "price_net":"10.50", "price_gross":"12.25" },
    { "price_net":"10.50", "price_gross":"12.25" },
    { "price_net":"10.50", "price_gross":"12.25" },
    { "price_net":"10.50", "price_gross":"12.25" },
    { "price_net":"10.50", "price_gross":"12.25" }
   ]
}

"""

* match each response.prices[*].price_gross == '#? _ >= 0 && _ >= response.prices[*].price_net'

Я думаю, что '*' в утверждении утверждения является проблемой. Потому что когда я запускаю этот

* match response.prices[0].price_gross == '#? _ >= 0 && _ >= response.prices[0].price_net'

, он работает нормально. Пожалуйста, предложите. Заранее спасибо.

1 Ответ

2 голосов
/ 23 октября 2019

Код образца:

Feature: Validation

  Scenario: Validation

    * def diff =
      """
      function (A, B) {

      var C = [];
      for(var i = 0; i < A.length; i++) {
      C.push(parseFloat(A[i]) - parseFloat(B[i]));
      }
      return C;
      }
      """

    * def response =
      """
      {
        "prices": [
          { "price_net":"10.50", "price_gross":"12.25" },
          { "price_net":"10.50", "price_gross":"12.25" },
          { "price_net":"10.50", "price_gross":"12.25" },
          { "price_net":"10.50", "price_gross":"12.25" },
          { "price_net":"10.50", "price_gross":"12.25" },
          { "price_net":"10.50", "price_gross":"12.25" }
        ]
      }
      """
    * json temp = response
    * def pgarr = get temp.prices[*].price_gross
    * def pnarr = get temp.prices[*].price_net
    * def sub = diff(pgarr,pnarr)
    * match each sub == '#? _ >= 0'
...