Skip to content

Commit

Permalink
Adds wrapper for integration tests
Browse files Browse the repository at this point in the history
  • Loading branch information
flmmartins committed May 25, 2016
1 parent f039894 commit d80d09c
Show file tree
Hide file tree
Showing 7 changed files with 63 additions and 49 deletions.
4 changes: 2 additions & 2 deletions index.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
var app = require('./src/app');
var server = require('./src/server');

app.start();
server.start();
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"scripts": {
"pretest": "node ./tests/test_setup.js",
"unit-test": "jasmine-node --verbose tests/unit",
"integration-test": "NODE_ENV=test jasmine-node --verbose tests/integration",
"integration-test": "NODE_ENV=test node ./tests/integration/run_tests.js",
"test": "NODE_ENV=test ./node_modules/jasmine-node/bin/jasmine-node tests/unit/",
"start": "NODE_ENV=app node index.js"
},
Expand Down
24 changes: 0 additions & 24 deletions src/app/index.js

This file was deleted.

21 changes: 0 additions & 21 deletions src/app_test.js

This file was deleted.

35 changes: 35 additions & 0 deletions src/server.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
var restify = require('restify');
var database = require('./db.connection');
var controllers = require('./controllers');
var port = process.env.VAMOS_JUNTAS_PORT || 8080;
var server;

module.exports = {
start: function(callback) {

server = restify.createServer({
name: 'VamosJuntas'
});

server.use(restify.queryParser());
server.use(restify.bodyParser());

server.get('/risks-around', controllers.risksAround);
server.post('/report-risk', controllers.reportRisk);

server.listen(port, function() {
database.open();
console.log('VamosJuntas started in port %d', port);
//callback to call when the server is ready
if(callback) {
callback();
}
});
},

close: function() {
console.log(server);
server.close();
process.exit(0);
}
};
24 changes: 24 additions & 0 deletions tests/integration/run_tests.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
//This run integration test

// util that spawns a child process
var spawn = require('child_process').spawn;

// reference to our node application server
var server = require('../../src/server.js');

// starts the server
server.start(function() {
// on server ready launch the jasmine-node process with your test file
var jasmineNode = spawn('jasmine-node', ['--verbose', './' ]);

// logs process stdout/stderr to the console
function logToConsole(data) {
console.log(String(data));
}
jasmineNode.stdout.on('data', logToConsole);
jasmineNode.stderr.on('data', logToConsole);
jasmineNode.on('exit', function(exitCode) {
// when jasmine-node is done, shuts down the application server
server.close();
});
});
2 changes: 1 addition & 1 deletion tests/unit/app/app_spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ var place = require('../../../src/domains/place.model');

describe('App', function () {
var server, app;
app = require('../../../src/app');
app = require('../../../src/server.js');

beforeEach(function () {
server = createSpyObj('server', ['get', 'post', 'listen', 'use']);
Expand Down

0 comments on commit d80d09c

Please sign in to comment.