From 6c61cc0604537e660b7c9a58c2bce904b18853ff Mon Sep 17 00:00:00 2001 From: German Martinez Date: Sun, 8 Nov 2015 23:01:55 +0100 Subject: [PATCH] Modificado manejador de errores --- app.js | 53 +++++++++------------------------------------------- package.json | 1 + test/test.js | 17 ++++++++++++++++- 3 files changed, 26 insertions(+), 45 deletions(-) diff --git a/app.js b/app.js index b0085af..106cb80 100644 --- a/app.js +++ b/app.js @@ -32,7 +32,7 @@ var http = require('http'); var logger = require('morgan'); var path = require('path'); -var voltdb = require('./lib/volt'); +var volt = require('./lib/volt'); // Rutas var index = require('./routes/index'); @@ -70,64 +70,29 @@ app.use('/informes', informes); // Captura errores 404 y los reenvia al manejador de errores app.use(function(req, res, next) { - var err = new Error('Not Found'); + var err = new Error('No encontrado.'); err.status = 404; next(err); }); -// (PENDIENTE DE TESTEAR PARCIALMENTE) // Manejador de errores: -// - Modo desarrollo -> imprime mensajes en la pila de errores -// - Modo producción -> no imprime los mensajes de error -if (app.get('env') === 'development') { - app.use(function(err, req, res, next) { - res.status(err.status || 500); - res.render('error', { - message: err.message, - error: err - }); +app.use(function(err, req, res, next) { + res.status(err.status); + res.render('error', { + message: err.message, + error: err }); -} else { - app.use(function(err, req, res, next) { - res.status(err.status || 500); - res.render('error', { - message: err.message, - error: {} - }); - }); -} +}); // Creación del servidor var server = http.createServer(app); server.listen(app.get('port')); -// server.on('error', onError); server.on('listening', onListening); -// (PENDIENTE DE TESTEAR) -// Escuchador de eventos para eventos de error en el servidor HTTP -function onError(error) { - if (error.syscall !== 'listen') { - throw error; - } - - switch (error.code) { - case 'EACCES': - console.error('El puerto ' + port + ' requiere privilegios de administrador.'); - process.exit(1); - break; - case 'EADDRINUSE': - console.error('El puerto ' + port + ' ya está en uso.'); - process.exit(1); - break; - default: - throw error; - } -} - // Escuchador de eventos de peticiones al servidor HTTP function onListening() { debug('Servidor Express escuchando localmente en el puerto ' + server.address().port); - voltdb.ejecutar(); + volt.ejecutar(); } module.exports = app; diff --git a/package.json b/package.json index 9bfe9df..03e3339 100644 --- a/package.json +++ b/package.json @@ -61,6 +61,7 @@ "mocha": "^2.3.3", "react": "^0.14.2", "should": "^7.1.1", + "sinon": "^1.17.2", "supertest": "^1.1.0" }, "engines": { diff --git a/test/test.js b/test/test.js index a585931..8f85bc2 100644 --- a/test/test.js +++ b/test/test.js @@ -29,7 +29,7 @@ var should = require("should"); // Módulo de la aplicación var app = require(__dirname + "/../app"); -var voltdb = require(__dirname + "/../lib/volt"); +var volt = require(__dirname + "/../lib/volt"); // Método para parsear archivos JSON a objetos JS var cargar = function(archivo) { @@ -46,6 +46,21 @@ var cargar = function(archivo) { var enlaces = cargar(__dirname + "/../test/enlaces.json"); +// Enlaces a comprobar +describe('Archivo de enlaces', function(){ + it('Cargado', function(){ + enlaces.should.not.be.null; + }); + it('Correcto', function() { + _.each(enlaces, function(valor) { + var size = _.size(valor); + size.should.be.exactly(2); + valor.should.have.property("nombre"); + valor.should.have.property("ruta"); + }); + }); +}); + // Prueba de acceso describe('Prueba de acceso', function() { _.each(enlaces, function(valor) {