У меня есть несколько тестов API, и я хочу создать глобальную функцию для записи в файл. На данный момент у меня есть работа, регистрирующая немного информации на консоли:
console.log(JSON.stringify(res.request.url)+JSON.stringify(res.request.header)+JSON.stringify(res.request._data));
Я хочу создать глобальную функцию в другом файле (config.js). Файл теперь выглядит так:
config = {
// url: 'https://stage-wp.pl/ordering-api2', //stage
url: 'http://test2.wp.pl/ordering-api', //test
user: 'dulexun3hvw0@10minut.xyz',
password: 'Test123',
randomStringGenerator: function (){
return Math.random().toString(36).replace(/[^a-z]+/g, '').substr(0, 7);
},
logToFile: function(){
fs.writeFile('mynewfile1.txt', JSON.stringify(res.request.url)+'\n'+ JSON.stringify(res.request.header)+JSON.stringify(res.request._data), function (err) {
if (err) throw err;
console.log('Saved!');
});
}
};
config.headers = {
// Authorization: `Basic ${new Buffer(`${config.user}:${config.password}`).toString('base64')}`,
//'Authorization': 'Bearer '+auth_token,
'User-Agent': 'WOR API Tester', // android
'Source': 'WEB',
'Accept-Language': 'EN',
'Content-Type': 'application/json'
};
module.exports = config;
Функция randomStringGenerator работает в других файлах (рабочий пример индукции: randomFirstName = config.randomStringGenerator ();)
, но если я хочу использовать функцию logToFileв моем следующем тесте:
it('should return token for unauthorized user', function(done) {
request
.post('/rest/v1/auth/get-token')
.set(config.headers)
.send({
"deviceUuidSource": "DEVICE",
"source" : "KIOSK",
"deviceUuid" : "uniquedeviceuuid"
})
.end(function(err,res){
assert.equal(res.status,200)
assert.property(res.body, 'token')
assert.isString(res.body.token)
auth_token=res.body.token
config.logToFile();
console.log('unathorized token: '+auth_token)
done(err);
});
});
Я получаю Uncaught TypeError: config.logToFile не является функцией.
Почему я не могу использовать эту функцию?Что не так?