我正在进行问题测试以驱动我正在构建的API的端点。端点用于一个人注册为新用户/ users / register。当我用以下请求正文点击路线时 { “ name”:“ john”, “电子邮件”:“ john@example.com” “ password”:“ Password1234!” }
我得到404,因为引发了来自用户架构的验证错误。该错误指出passwordHash路径是必需的。设置架构的方式是,我有一个虚拟密码字段,并对该字段进行哈希处理并将其保存到必需的passwordHash字段中。这是一个快乐的路径测试,不应失败。涵盖此功能的我的模型/架构单元测试和控制器测试通过。但是,当我测试路由时会失败。相关文件粘贴在下面。如果您想查看该应用程序并运行它,则可以在仓库https://github.com/Euklidian-Space/voter-node/tree/user_routes中进行操作。运行npm安装后,请运行npm start启动服务器。您还需要运行mongodb。
这是路线定义
let updates = {}
updates[`/posts/${group}/${post}/lastComments`] = {...};
updates[`/posts/${group}/${post}`] = { ... };
firebase.database().ref().update(updates);
这是用户控制器中的创建动作
const router = require("express").Router();
const UserController = require("../controllers/user_controller");
router.get("/:id", UserController.verifyToken, UserController.show);
router.post("/register", UserController.create);
module.exports = router;
这是用户架构
exports.create = async (req, res, next) => {
const [err, user] = await to(createUser(req.body));
if (err) return next(err);
const respObj = {
user,
token: token(user.id, JWT_KEY, jwt)
};
res.status(200).send(respObj);
return Promise.resolve(respObj);
};