function createUser (req, res, next) { if (req.body.email === undefined || req.body.password === undefined || req.body.first_name === undefined || req.body.last_name === undefined) { httpHelper.sendReply(res, httpHelper.error.invalidRequestError()); } else { userModel.getByEmail(req.body.email, function (err, fUser) { if (err) { next(err); } else if (fUser != null) { httpHelper.sendReply(res, httpHelper.error.userExist()); } else { userModel.createPassword(req.body.email, req.body.password, req.body.first_name, req.body.last_name, function (err, cUser) { if (err) { next(err); } else { httpHelper.sendReply(res, 201, cUser.safePrint()); } }); } }); } }
common.userModel.createFacebook(fixture.user2.email, fixture.user2.facebookId, fixture.user2.first_name, fixture.user2.last_name, function (err, cUser2) { if (err) { done(err); } else { common.userModel.createPassword(fixture.user3.email, fixture.user3.password, fixture.user3.first_name, fixture.user3.last_name, function (err) { if (err) { done(err); } else { common.accessTokenModel.createFix(cClient, cUser1, fixture.token1, function (err) { if (err) { done(err); } else { common.accessTokenModel.createFix(cClient, cUser2, fixture.token2, function (err) { if (err) { done(err); } else { user1 = cUser1; user2 = cUser2; done(); } }); } }); } }); } });
common.clientModel.createFix(fixture.client.name, fixture.client.key, fixture.client.secret, function (err, cClient) { if (err) { done(err); } else { common.userModel.createPassword(fixture.user1.email, fixture.user1.password, fixture.user1.first_name, fixture.user1.last_name, function (err, cUser1) { if (err) { done(err); } else { common.userModel.createPassword(fixture.user2.email, fixture.user2.password, fixture.user2.first_name, fixture.user2.last_name, function (err, cUser2) { if (err) { done(err); } else { common.accessTokenModel.createFix(cClient, cUser1, fixture.token1, function (err) { if (err) { done(err); } else { common.accessTokenModel.createFix(cClient, cUser2, fixture.token2, function (err) { if (err) { done(err); } else { user1 = cUser1; done(); } }); } }); } }); } }); } });
.end(function (err, res) { if (err) { done(err); } else { common.userModel.getByPublicId(user1.publicId, false, function (err, fUser) { if (err) { done(err); } else { expect(fUser).to.be.null; done(); } }); } });
common.organizationModel.getByPublicId(org.public_id, function (err, fOrg) { if (err) { done(err); } else { expect(fOrg).to.be.null; common.userModel.getByPublicId(user1.publicId, false, function (err, fUser) { if (err) { done(err); } else { expect(fUser.organizations).to.have.lengthOf(0); done(); } }); } });
.end(function (err, res) { if (err) { done(err); } else { common.userModel.getByPublicId(user1.publicId, false, function (err, fUser) { if (err) { done(err); } else { expect(fUser.email).to.equal(fixture.user1n.email); expect(fUser.firstName).to.equal(fixture.user1n.first_name); expect(fUser.lastName).to.equal(fixture.user1n.last_name); done(); } }); } });
userModel.getByEmail(req.body.email, function (err, fUser) { if (err) { next(err); } else if (fUser != null) { httpHelper.sendReply(res, httpHelper.error.userExist()); } else { userModel.createPassword(req.body.email, req.body.password, req.body.first_name, req.body.last_name, function (err, cUser) { if (err) { next(err); } else { httpHelper.sendReply(res, 201, cUser.safePrint()); } }); } });
.end(function (err, res) { if (err) { done(err); } else { expect(res.body.public_id).to.not.be.undefined; expect(res.body.name).to.equal(fixture.org); expect(res.body.owner.public_id).to.equal(user1.publicId); expect(res.body.creator.public_id).to.equal(user1.publicId); expect(res.body.members).to.have.lengthOf(1); expect(res.body.members[0].public_id).to.equal(user1.publicId); common.userModel.getByPublicId(user1.publicId, false, function (err, fUser) { if (err) { done(err); } else { expect(fUser.organizations).to.have.lengthOf(1); user1 = fUser; org = res.body; done(); } }); } });