diff options
-rw-r--r-- | package.json | 1 | ||||
-rw-r--r-- | src/index.js | 10 | ||||
-rw-r--r-- | test/server.js | 39 |
3 files changed, 47 insertions, 3 deletions
diff --git a/package.json b/package.json index 3f8c90c..feb2a70 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ }, "devDependencies": { "mocha": "^2.2.5", + "request": "^2.60.0", "should": "^7.0.2" } } diff --git a/src/index.js b/src/index.js index 9c1019e..71b70df 100644 --- a/src/index.js +++ b/src/index.js @@ -190,6 +190,10 @@ server.route({ } }); -server.start(function() { - console.log('Server running!'); -}); +if (!module.parent) { + server.start(function() { + console.log('Server running!'); + }); +} + +module.exports = server; diff --git a/test/server.js b/test/server.js new file mode 100644 index 0000000..a003b50 --- /dev/null +++ b/test/server.js @@ -0,0 +1,39 @@ +var should = require('should'); +var request = require('request'); +var server = require('../src'); + +var ROOT_URL = 'http://127.0.0.1:8000'; + +describe('Server', function() { + + before(function() { + server.start(); + }); + + after(function() { + server.stop(); + }); + + describe('Basic Connectivity', function() { + it('should be available on port 8000', function() { + request.get(ROOT_URL, function(err, response, body) { + response.should.be.html(); + }); + }); + + it('should serve the index', function() { + request.get(ROOT_URL, function(err, response, body) { + body.should.not.be.empty(); + }); + }) + }); + + describe('Search results', function() { + it('should display search results', function() { + request.get(ROOT_URL + '/search?q=do+re+mi', function(err, res, body) { + body.should.not.be.empty(); + response.should.have.status(200); + }); + }); + }); +}); |