【发布时间】:2020-09-15 03:50:53
【问题描述】:
这是控制器代码。该帖子或创建用户。 email 应该是唯一的,并且不能使用相同的 email 再次创建帐户。
exports.saveUser = (request, response) => {
const result = (savedUser) => {
response.status(200);
response.json(savedUser);
};
bcrypt.hash(request.body.user.password, saltRounds, function(err, hash) {
let user = {
first_name : request.body.user.firstName,
last_name : request.body.user.lastName,
email : request.body.user.email,
hashed_password : hash
}
console.log("conroller")
const promise = userService.save(user);
promise
.then(result)
.catch(renderErrorResponse(response));
});
};
这是服务层
'use strict';
const db = require("./../../models")
/**
* Saves the new user object.
*
* @param user
*/
exports.save = (user,result) => {
return db.User_tbl.create({
first_name: user.first_name,
last_name:user.last_name,
email:user.email,
hashed_password:user.hashed_password
})
}
下面是用户模型
module.exports = (sequelize,DataTypes)=>{
const user = sequelize.define("User_tbl",{
first_name:{
type: DataTypes.STRING(64),
allowNull:false
},
last_name:{
type: DataTypes.STRING(64),
allowNull:false
},
email:{
type: DataTypes.STRING(64),
allowNull:false,
unique:true
},
hashed_password:{
type: DataTypes.STRING(255),
allowNull:false
},
id:{
type:DataTypes.INTEGER,
primaryKey:true,
autoIncrement: true
}
})
return user;
}
我所做的事情包括编写命中测试数据库的测试......但这在 PR 检查中不起作用,因为托管端没有数据库。尝试了模拟续集,但文档不正确。
【问题讨论】:
标签: node.js jestjs sequelize.js chai sinon