http пост для аутентификации в JavaScript с использованием теста мокко - PullRequest
0 голосов
/ 29 августа 2018

Я получил набор тестов, написанный на js, используя mocha. Это тестовый метод, который я пытаюсь заставить работать. Они отправляют данные в закодированной форме. Мой контроллер принимает данные в теле формы (метод ниже). Моя модель содержит те же свойства. Как мне переписать метод js, чтобы он соответствовал моему контроллеру?

  function loginUser (auth) {
      return function (done) {
        request('https://mysites/api/').post('login')
          .set('Content-Type', 'application/x-www-form-urlencoded')
          .set('emulateJSON', true)
          .timeout({response: 30000, deadline: 30000})
          .send({grant_type: 'password', Username: 'TheUserName', Password: 'Password'})
          .end(function (err, response) {
            assert.equal(response.status, 200)
            console.log('Response: ', response.body)
            auth.token = response.body.access_token
            done()
          })
      };
    }



[AllowAnonymous]
[HttpPost]
public IActionResult Post([FromBody]LoginDto loginViewModel)
{
    if (ModelState.IsValid)
    {
        //This method returns user id from username and password.
        var attemptedUser = GetUserInfoFromLoginViewModel(loginViewModel);
        if (attemptedUser.Username == null)
        {
            return BadRequest("invalid_grant, The user name or password is incorrect.");
        }

1 Ответ

0 голосов
/ 30 августа 2018

Если кому-то интересно, ответом будет добавление

process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0'

к началу файла tests.specs.js. Это вопрос самозаверяющего сертификата. Я нашел ответ в другом вопросе

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