я пишу 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?
Спасибо за ответ