Update tests to assert against translation strings

This commit is contained in:
Blade Barringer
2015-10-30 09:01:57 -05:00
parent d3a6ff5b2d
commit aa111b3c1a
21 changed files with 157 additions and 52 deletions

View File

@@ -16,9 +16,9 @@ var isProd = nconf.get('NODE_ENV') === 'production';
var api = module.exports;
var NO_TOKEN_OR_UID = { err: "You must include a token and uid (user id) in your request"};
var NO_USER_FOUND = {err: "No user found."};
var NO_SESSION_FOUND = { err: "You must be logged in." };
var NO_TOKEN_OR_UID = { err: shared.i18n.t('messageAuthMustIncludeTokens') };
var NO_USER_FOUND = {err: shared.i18n.t('messageAuthNoUserFound') };
var NO_SESSION_FOUND = { err: shared.i18n.t('messageAuthMustBeLoggedIn') };
var accountSuspended = function(uuid){
return {
err: 'Account has been suspended, please contact leslie@habitica.com with your UUID ('+uuid+') for assistance.',
@@ -72,9 +72,9 @@ api.registerUser = function(req, res, next) {
async.auto({
validate: function(cb) {
if (!(username && req.body.password && email))
return cb({code:401, err: ":username, :email, :password, :confirmPassword required"});
return cb({code:401, err: shared.i18n.t('messageAuthCredentialsRequired')});
if (req.body.password !== req.body.confirmPassword)
return cb({code:401, err: ":password and :confirmPassword don't match"});
return cb({code:401, err: shared.i18n.t('messageAuthPasswordMustMatch')});
if (!validator.isEmail(email))
return cb({code:401, err: ":email invalid"});
cb();
@@ -90,7 +90,7 @@ api.registerUser = function(req, res, next) {
if (data.findReg) {
if (email === data.findReg.auth.local.email) return cb({code:401, err:"Email already taken"});
// Check that the lowercase username isn't already used
if (lowerCaseUsername === data.findReg.auth.local.lowerCaseUsername) return cb({code:401, err:"Username already taken"});
if (lowerCaseUsername === data.findReg.auth.local.lowerCaseUsername) return cb({code:401, err: shared.i18n.t('messageAuthUsernameTaken')});
}
var salt = utils.makeSalt();
var newUser = {
@@ -309,7 +309,7 @@ api.changeEmail = function(req, res, next){
User.findOne({'auth.local.email': email}, {auth:1}, cb);
},
function(found, cb){
if(found) return cb({code:401, err: "Email already taken"});
if(found) return cb({code:401, err: shared.i18n.t('messageAuthEmailTaken')});
if (invalidPassword(res.locals.user, req.body.password)) return cb(invalidPassword(res.locals.user, req.body.password));
res.locals.user.auth.local.email = email;
res.locals.user.save(cb);

View File

@@ -143,7 +143,7 @@ api.get = function(req, res, next) {
q.exec(function(err, group){
if (err) return next(err);
if(!group){
if(gid !== 'party') return res.json(404,{err: "Group not found or you don't have access."});
if(gid !== 'party') return res.json(404,{err: shared.i18n.t('messageGroupNotFound')});
// Don't send a 404 when querying for a party even if it doesn't exist
// so that users with no party don't get a 404 on every access to the site
@@ -184,7 +184,7 @@ api.create = function(req, res, next) {
group.leader = user._id;
if(group.type === 'guild'){
if(user.balance < 1) return res.json(401, {err: 'Not enough gems!'});
if(user.balance < 1) return res.json(401, {err: shared.i18n.t('messageInsufficientGems')});
group.balance = 1;
user.balance--;
@@ -209,7 +209,7 @@ api.create = function(req, res, next) {
Group.findOne({type:'party',members:{$in:[user._id]}},cb);
},
function(found, cb){
if (found) return cb('Already in a party, try refreshing.');
if (found) return cb(shared.i18n.t('messageGroupAlreadyInParty'));
group.save(cb);
},
function(saved, count, cb){
@@ -218,7 +218,7 @@ api.create = function(req, res, next) {
saved.populate('members', nameFields, cb);
}
], function(err, populated){
if (err == 'Already in a party, try refreshing.') return res.json(400,{err:err});
if (err === shared.i18n.t('messageGroupAlreadyInParty')) return res.json(400,{err:err});
if (err) return next(err);
group = user = null;
return res.json(populated);
@@ -231,7 +231,7 @@ api.update = function(req, res, next) {
var user = res.locals.user;
if(group.leader !== user._id)
return res.json(401, {err: "Only the group leader can update the group!"});
return res.json(401, {err: shared.i18n.t('messageGroupOnlyLeaderCanUpdate')});
'name description logo logo leaderMessage leader leaderOnly'.split(' ').forEach(function(attr){
group[attr] = req.body[attr];
@@ -251,7 +251,7 @@ api.attachGroup = function(req, res, next) {
var q = (gid == 'party') ? Group.findOne({type: 'party', members: {'$in': [res.locals.user._id]}}) : Group.findById(gid);
q.exec(function(err, group){
if(err) return next(err);
if(!group) return res.json(404, {err: "Group not found"});
if(!group) return res.json(404, {err: shared.i18n.t('messageGroupNotFound')});
res.locals.group = group;
next();
});
@@ -270,7 +270,7 @@ api.getChat = function(req, res, next) {
populateQuery(gid, q);
q.exec(function(err, group){
if (err) return next(err);
if (!group && gid!=='party') return res.json(404,{err: "Group not found or you don't have access."});
if (!group && gid!=='party') return res.json(404,{err: shared.i18n.t('messageGroupNotFound')});
res.json(res.locals.group.chat);
gid = null;
});
@@ -470,7 +470,7 @@ api.join = function(req, res, next) {
}
}
if(!isUserInvited) return res.json(401, {err: "Can't join a group you're not invited to."});
if(!isUserInvited) return res.json(401, {err: shared.i18n.t('messageGroupRequiresInvite')});
if (!_.contains(group.members, user._id)){
if (group.members.length === 0) {

View File

@@ -164,7 +164,7 @@ api.getTasks = function(req, res, next) {
*/
api.getTask = function(req, res, next) {
var task = findTask(req,res);
if (!task) return res.json(404, {err: "No task found."});
if (!task) return res.json(404, {err: shared.i18n.t('messageTaskNotFound')});
return res.json(200, task);
};
@@ -317,7 +317,7 @@ api.update = function(req, res, next) {
if (acceptablePUTPaths[k])
user.fns.dotSet(k, v);
else
errors.push("path `" + k + "` was not saved, as it's a protected path.");
errors.push(shared.i18n.t('messageUserOperationProtected', { operation: k }));
return true;
});
user.save(function(err) {
@@ -600,7 +600,7 @@ api.batchUpdate = function(req, res, next) {
return cb(code+": "+ (data.message ? data.message : data.err ? data.err : JSON.stringify(data)));
return cb();
};
if(!api[_req.op]) { return cb(_req.op + ' operation not found'); }
if(!api[_req.op]) { return cb(shared.i18n.t('messageUserOperationNotFound', { operation: _req.op })); }
api[_req.op](_req, res, cb);
});
})