ReferenceError при экспорте функции из узла - PullRequest
0 голосов
/ 16 мая 2018

Я пишу тестовый файл для тестирования бэкэнда, написанного в Express, с шуткой, но я не могу понять, как Node JS управляет экспортом функции с параметрами. У меня есть следующий код:

function checkCredentials( u, p)
{ 
     var check = false;
     if((vectorUsr.indexOf(u)!= -1) && (vectorPswrd.indexOf(p) != -1))
     {
          check = true;
     }
     return check;
}
app.post('/home', function(req, res)
{
    if(checkCredentials(req.body.username, req.body.password))
    {
        req.session.success=true;
        console.log(req.body.username + " submitted Successfully!");
        console.log("POST HOME");
        res.status(200).render('home',{success: req.session.success});
    }
    else
    {
        req.session.success = false;
        res.status(403).redirect('/login');
    }
});

В конце файла я добавил эти две строки для проведения теста:

exports.checkCredentials = checkCredentials(u,p);
module.exports = app;

В test.js (строки user и password - это значения, содержащиеся в vectorUser и vectorPswrd), которые я написал:

    describe(' Login', () =>
    { test(' POST request', (done) =>
      { 
           request(app).post('/home').then((req) =>
           {
                expect(app.checkCredentials('user', 
                'password')).toBe(true).then((res) =>
                {
                     expect(res.statusCode).toBe(200);
                     done();
                })
           })
       })
   })

Но когда я запускаю jest --runInBand консоль говорит

ReferenceError: u is not defined

  60 |     }
  61 |     else
> 62 |     {
  63 |         //Ritorno alla pagina di login
  64 |         req.session.success = false;
  65 |         res.status(403).redirect('/');

Я действительно не понимаю, почему появляется эта ошибка

1 Ответ

0 голосов
/ 16 мая 2018

В этом разделе вы ссылаетесь на переменную u:

vectorUsr.indexOf(u)

Но u нигде не определено.

Я предполагаю, что вы намеревались:

if((vectorUsr.indexOf(user)!= -1) && (vectorPswrd.indexOf(pswrd) != -1))
...