mongoo 4 and new travis ci infrastructure

This commit is contained in:
Matteo Pagliazzi 2015-10-29 16:35:02 +01:00
parent 8ea69e90dd
commit 37d83fdade
8 changed files with 23 additions and 17 deletions

View file

@ -1,11 +1,9 @@
language: node_js
sudo: false
services:
- mongodb
node_js:
- '4.1'
before_install:
- "sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10"
- "echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list"
- "sudo apt-get update"
- "sudo apt-get install mongodb-org-server"
before_script:
- 'npm install -g grunt-cli mocha'
- cp config.json.example config.json

View file

@ -58,7 +58,7 @@
"merge-stream": "^1.0.0",
"method-override": "~2.2.0",
"moment": "~2.8.3",
"mongoose": "~3.8.23",
"mongoose": "~4.2.3",
"mongoose-id-autoinc": "~2013.7.14-4",
"morgan": "^1.6.1",
"nconf": "~0.6.9",

View file

@ -161,7 +161,7 @@ describe "Challenges", ->
# Now let's handle if challenge was deleted, but didn't get to update all the users (an error)
unset = $unset: {}
unset["$unset"]["dailys." + len + ".challenge.broken"] = 1
User.findByIdAndUpdate user._id, unset, (err, user) ->
User.findByIdAndUpdate user._id, unset, {new: true}, (err, user) ->
expect(err).to.not.exist
expect(user.dailys[len].challenge.broken).to.not.exist
request.post(baseURL + "/user/tasks/" + daily.id + "/up").end (err, res) ->
@ -175,6 +175,7 @@ describe "Challenges", ->
User.findByIdAndUpdate user._id,
$set:
"contributor.admin": true
, {new: true}
, (err, _user) ->
expect(err).to.not.exist
async.parallel [
@ -205,7 +206,8 @@ describe "Challenges", ->
it "User creates a non-tavern challenge with prize, deletes it, gets refund", (done) ->
User.findByIdAndUpdate user._id,
$set:
"balance": 8
"balance": 8,
, {new: true}
, (err, user) ->
expect(err).to.not.be.ok
request.post(baseURL + "/challenges").send(
@ -234,7 +236,8 @@ describe "Challenges", ->
it "User creates a tavern challenge with prize, deletes it, and does not get refund", (done) ->
User.findByIdAndUpdate user._id,
$set:
"balance": 8
"balance": 8,
, {new: true}
, (err, user) ->
expect(err).to.not.be.ok
request.post(baseURL + "/challenges").send(
@ -312,7 +315,7 @@ describe "Challenges", ->
context "non-owner that is an admin", () ->
beforeEach (done) ->
User.findByIdAndUpdate(user._id, { 'contributor.admin': true }, done)
User.findByIdAndUpdate(user._id, { 'contributor.admin': true }, {new: true}, done)
it 'can edit challenge', (done) ->
challenge.name = 'foobar'

View file

@ -6,7 +6,7 @@ Coupon = require("../../website/src/models/coupon").model
makeSudoUser = (usr, cb) ->
registerNewUser ->
sudoUpdate = { "$set" : { "contributor.sudo" : true } }
User.findByIdAndUpdate user._id, sudoUpdate, (err, _user) ->
User.findByIdAndUpdate user._id, sudoUpdate, {new: true}, (err, _user) ->
usr = _user
cb()
, true

View file

@ -58,6 +58,7 @@ describe "Party", ->
User.findByIdAndUpdate user._id,
$set:
"stats.lvl": 50
, {new: true}
, (err, _user) ->
cb(null, _user)
(_user, cb) ->
@ -142,6 +143,7 @@ describe "Party", ->
User.findByIdAndUpdate user._id,
$set:
"items.quests.vice3": 1
, {new: true}
, cb
(_user, cb) ->
@ -281,6 +283,7 @@ describe "Party", ->
Group.findByIdAndUpdate group._id,
$set:
"quest.progress.hp": 0
, {new: true}
, cb2
], cb
(_group, cb) ->

View file

@ -27,6 +27,7 @@ describe "Users", ->
User.findByIdAndUpdate userToDelete._id,
$set:
"balance": 4
, {new: true}
, (err, _user) ->
cb()
@ -88,6 +89,7 @@ describe "Users", ->
User.findByIdAndUpdate user._id,
$set:
"balance": 4
, {new: true}
, (err, _user) ->
async.waterfall [
(cb) ->

View file

@ -230,7 +230,7 @@ api.update = function(req, res, next){
// before-save / after-save comparison to determine if we need to sync to users
before = _before;
var attrs = _.pick(req.body, 'name shortName description habits dailys todos rewards date'.split(' '));
Challenge.findByIdAndUpdate(cid, {$set:attrs}, cb);
Challenge.findByIdAndUpdate(cid, {$set:attrs}, {new: true}, cb);
},
function(saved, cb) {
@ -271,7 +271,7 @@ function closeChal(cid, broken, cb) {
function(_removed, cb2) {
removed = _removed;
var pull = {'$pull':{}}; pull['$pull'][_removed._id] = 1;
Group.findByIdAndUpdate(_removed.group, pull);
Group.findByIdAndUpdate(_removed.group, {new: true}, pull);
User.find({_id:{$in: removed.members}}, cb2);
},
function(users, cb2) {
@ -370,7 +370,7 @@ api.join = function(req, res, next){
async.waterfall([
function(cb) {
Challenge.findByIdAndUpdate(cid, {$addToSet:{members:user._id}}, cb);
Challenge.findByIdAndUpdate(cid, {$addToSet:{members:user._id}}, {new: true}, cb);
},
function(chal, cb) {
@ -403,7 +403,7 @@ api.leave = function(req, res, next){
async.waterfall([
function(cb){
Challenge.findByIdAndUpdate(cid, {$pull:{members:user._id}}, cb);
Challenge.findByIdAndUpdate(cid, {$pull:{members:user._id}}, {new: true}, cb);
},
function(chal, cb){

View file

@ -13,9 +13,9 @@ api.unsubscribe = function(req, res, next){
if(data._id){
User.update({_id: data._id}, {
$set: {'preferences.emailNotifications.unsubscribeFromAll': true}
}, {multi: false}, function(err, nAffected){
}, {multi: false}, function(err, updateRes){
if(err) return next(err);
if(nAffected !== 1) return res.json(404, {err: 'User not found'});
if(updateRes.n !== 1) return res.json(404, {err: 'User not found'});
res.send('<h1>' + i18n.t('unsubscribedSuccessfully', null, req.language) + '</h1>' + i18n.t('unsubscribedTextUsers', null, req.language));
});