Функция регистрации в тестах Mocha API - PullRequest
0 голосов
/ 25 сентября 2018

У меня есть несколько тестов 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 не является функцией.

Почему я не могу использовать эту функцию?Что не так?

...