测试Auth0 API修补程序请求

时间:2017-02-21 04:04:47

标签: node.js mocha auth0 superagent

尝试测试Auth0 API修补程序请求以修改user_metadata。 使用mocha和superagent进行测试。

获得成功,但使用用户ID进行修补并发送

.send({ "metadata": { "nickname": "Jill" } })

在mocha测试文件中不起作用。

router.patch('/:id', function(req, res, next) { 
  var options =  {
    method: 'PATCH',
    url: 'https://mrides.auth0.com/api/v2/users/' + req.params.id,
    headers: {
      Authorization: "Bearer " + apiToken
    },
    data: req.body
  }
  request.patch(options, function(err, response, body) {
    if(!err && response.statusCode == 200) {
      res.send(JSON.parse(body))
    } else {
      res.status(500).send(err);
    }
  })
});

错误:

{
 "statusCode": 400,
 "error": "Bad Request",
 "message": "Payload validation error: 'Expected type object but found type null'.",
 "errorCode": "invalid_body"
}

看过这个问题: Auth0 API Request 但是在尝试时它没有用:

data: JSON.stringify(req.body)

有关如何操作修改user_metadata的任何帮助或链接?

一直在查看Auth0 docs但尚未取得进展。

1 个答案:

答案 0 :(得分:0)

按照以下方式更改选项:

var options =  {
    method: 'PATCH',
    url: 'https://mrides.auth0.com/api/v2/users/' + req.params.id,
    headers: {
      Authorization: "Bearer " + apiToken
    },

    // change here
    body: req.body
  }
  request.patch(options, function(err, response, body) {
    if(!err && response.statusCode == 200) {
      res.send(JSON.parse(body))
    } else {
      res.status(500).send(err);
    }
  })
};