JSON с переменными из внешнего файла в методе post - Mocha JS - PullRequest
0 голосов
/ 06 сентября 2018

я пишу API тест в Мокко и имею следующую проблему, этот следующий тест пройден (он содержит несколько переменных в теле запроса, таких как deliveryRestaurantCity, availableProductsId и т. д.):

  it('should submit order', function(done) {
    request
      .post('/rest/v2/order/submit')
      .set(config.headers)
      .set('Authorization', 'Bearer ' + auth_token) 
      //.set('Accept', 'application/json')  
      .send(
        {  
          "restaurantId":deliveryRestaurantId,
          "deliveryAddress":{  
             "city":deliveryRestaurantCity,
             "street":deliveryRestaurantStreet,
             "houseNumber":deliveryRestaurantStreetNo,
             "lat":deliveryRestaurantGeoLat,
             "lng":deliveryRestaurantGeoLng,
             "inDeliveryZone":true
       
          },
          "deliveryType":"DELIVERY",
          "deliveryTime":"14:24",
          "paymentType":"CARD_DEL",
          "customer":{  
             "phoneNumber":"600000000",
             "firstName":"Imie",
             "emailAddress":"x@x.pl",
             "customerName":"Imie"
          },
          "agreements":{  
             "acceptTerms":true,
             "acceptDataProcessingAgreement":true
          },
          "basket":{  
             "basketLines":[  
                {  
                   "uuid":"uuid",
                   "quantity":2,
                   "product":{  
                      "id": availableProductsId[0]
                   }
                }
             ]
          }
       } 
      )
      .expect(200)
      .end(function(err,res){
        done(err);
      });       
   });

Но теперь я хочу переместить тело из тестового примера во внешний файл Я пытался сделать это так:

it('should submit order', function(done) {
    const order = JSON.parse(fs.readFileSync('./files/json/order01.json'));
    request
      .post('/rest/v2/order/submit')
      .set(config.headers)
      .set('Authorization', 'Bearer ' + auth_token) 
      //.set('Accept', 'application/json')  
      .send(order)
      .expect(200)
      .end(function(err,res){
        done(err);
      });       
   });

с перемещением json в order01.json, но оно вернуло меня:

2) заказ следует оформить заказ: SyntaxError: неожиданный токен d в JSON в позиции 30 в JSON.parse () в контексте. (Тест \ 4_order.js: 23: 24)

Как это сделать правильно с поддержкой переменных для внешнего файла JSON? Спасибо за ответ

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...