diff --git a/.travis.yml b/.travis.yml index 1416d607cd..a6601e45e0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,5 @@ language: node_js node_js: - "0.10" - - "0.11" \ No newline at end of file + - "node" + - "iojs" \ No newline at end of file diff --git a/package.json b/package.json index e94c00afda..bc248c26ad 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ "lib": "lib" }, "scripts": { - "test": "grunt" + "test": "grunt --stack" }, "engines": { "node": ">= 0.10.0", @@ -37,8 +37,8 @@ "body-parser": "^1.0.2", "debug": "^2.1.1", "express": "^4.0.0", - "feathers-commons": "^0.1.0", - "feathers-errors": ">=0.2.0", + "feathers-commons": "^0.2.0", + "feathers-errors": "^0.2.5", "lodash": "^3.1.0", "primus": "^2.4.0", "primus-emitter": "^3.0.2", diff --git a/test/providers/primus.test.js b/test/providers/primus.test.js index fdb834f14e..70c2f30c68 100644 --- a/test/providers/primus.test.js +++ b/test/providers/primus.test.js @@ -93,8 +93,15 @@ describe('Primus provider', function () { }); describe('Services', function() { + it('invalid arguments cause an error', function (done) { + socket.send('todo::find', 1, {}, function(error) { + assert.equal(error.message, 'Too many arguments for \'find\' service method'); + done(); + }); + }); describe('CRUD', function () { + it('::find', function (done) { socket.send('todo::find', {}, function (error, data) { verify.find(data); @@ -123,6 +130,20 @@ describe('Primus provider', function () { }); }); + it('::create without parameters and callback', function (done) { + var original = { + name: 'creating' + }; + + socket.send('todo::create', original); + + socket.once('todo created', function(data) { + verify.create(original, data); + + done(); + }); + }); + it('::update', function (done) { var original = { name: 'updating' diff --git a/test/providers/socketio.test.js b/test/providers/socketio.test.js index a6a3fb2148..70b57768cf 100644 --- a/test/providers/socketio.test.js +++ b/test/providers/socketio.test.js @@ -92,6 +92,13 @@ describe('SocketIO provider', function () { }); describe('Services', function() { + it('invalid arguments cause an error', function (done) { + socket.emit('todo::find', 1, {}, function(error) { + assert.equal(error.message, 'Too many arguments for \'find\' service method'); + done(); + }); + }); + describe('CRUD', function () { it('::find', function (done) { socket.emit('todo::find', {}, function (error, data) { @@ -121,6 +128,20 @@ describe('SocketIO provider', function () { }); }); + it('::create without parameters and callback', function (done) { + var original = { + name: 'creating' + }; + + socket.emit('todo::create', original); + + socket.once('todo created', function(data) { + verify.create(original, data); + + done(); + }); + }); + it('::update', function (done) { var original = { name: 'updating'