From 75f00ec889a54fbbaa2d304de603204637e041a3 Mon Sep 17 00:00:00 2001 From: Eric Date: Thu, 11 Apr 2019 13:04:26 -0300 Subject: [PATCH] error handle --- gulpfile.js | 4 +++- spec/controllerSpec.js | 22 +++++++++++----------- src/js/controller.js | 23 ++++++++++++++++++----- 3 files changed, 32 insertions(+), 17 deletions(-) diff --git a/gulpfile.js b/gulpfile.js index a0a3ecf..d3a8d28 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -21,7 +21,9 @@ var paths = { dist: 'dist/' }; -gulp.task('uglify', gulpSequence('clean', ['templates', 'uglify-spec'], 'uglify-app')); +gulp.task('uglify', function(callback) { + gulpSequence('clean', ['templates', 'uglify-spec'], 'uglify-app')(callback); +}); gulp.task('templates', function() { return pump( diff --git a/spec/controllerSpec.js b/spec/controllerSpec.js index b11c832..5e40f25 100644 --- a/spec/controllerSpec.js +++ b/spec/controllerSpec.js @@ -587,20 +587,20 @@ describe('Controladores módulo crear hoja de ruta', function() { }); - it('seleccionarTarifario levanta modal y setea datos', function(done) { + it('seleccionarTarifario levanta prompt', function(done) { //arrange var scope = { $broadcast: function() { }, $watch: function() {} }; - var uibModal = { - open: function() { } + var focaModalService = { + prompt: function() { } }; $controller('hojaRutaCtrl', { $scope: scope, - $uibModal: uibModal, + $uibModal: {}, $location: {}, $filter: $filter, $timeout: $timeout, @@ -612,26 +612,26 @@ describe('Controladores módulo crear hoja de ruta', function() { }; } }, - focaModalService: {}, + focaModalService: focaModalService, focaBotoneraLateralService: {}, focaLoginService: {}, $localStorage: function() {} }); var respuesta = 1; - var promesa = { result: Promise.resolve(respuesta) }; + var promesa = Promise.resolve(respuesta); //act - spyOn(uibModal, 'open').and.returnValue(promesa); + spyOn(focaModalService, 'prompt').and.returnValue(promesa); spyOn(scope, '$broadcast'); scope.seleccionarTarifario(); //assert - promesa.result.then(function() { - expect(uibModal.open).toHaveBeenCalled(); + promesa.then(function() { + expect(focaModalService.prompt).toHaveBeenCalled(); expect(scope.$broadcast).toHaveBeenCalled(); - expect(scope.hojaRuta.tarifario).toEqual(respuesta); + expect(scope.hojaRuta.tarifario.costo).toEqual(respuesta); done(); }); @@ -733,7 +733,7 @@ describe('Controladores módulo crear hoja de ruta', function() { scope.eligioPreConfirmado = false; scope.hojaRuta = { fechaReparto: new Date() - } + }; var respuesta = { transportista: { } }; var promesa = Promise.resolve(respuesta); diff --git a/src/js/controller.js b/src/js/controller.js index 2a30600..fa30cc0 100644 --- a/src/js/controller.js +++ b/src/js/controller.js @@ -111,7 +111,8 @@ angular.module('focaCrearHojaRuta') .controller('hojaRutaCtrl', idChofer: $scope.hojaRuta.chofer.id, idVehiculo: $scope.hojaRuta.vehiculo.id, tarifaFlete: $scope.hojaRuta.tarifario.costo, - fechaReparto: new Date($scope.hojaRuta.fechaReparto).toISOString().substring(0, 10), + fechaReparto: + new Date($scope.hojaRuta.fechaReparto).toISOString().substring(0, 10), estado: 0 }, remitos: $scope.hojaRuta.remitosTabla @@ -283,11 +284,23 @@ angular.module('focaCrearHojaRuta') .controller('hojaRutaCtrl', // remito.litros = litros; // $scope.hojaRuta.litros = $scope.hojaRuta.litros + litros; - $scope.cargarCisterna(remito.id).then(function(response) { + $scope.cargarCisterna(remito.id).then(function() { $scope.hojaRuta.remitosTabla.push(remito); - if (!response) $scope.seleccionarRemitos(); - }, function() { - $scope.seleccionarRemitos(); + }, function(error) { + + if (error && error !== 'backdrop click') { + + focaModalService + .alert(error || 'Ha ocurrido un error') + .then(function() { + $scope.seleccionarRemitos(); + }); + + } else { + + $scope.seleccionarRemitos(); + + } }); }, function() { // funcion ejecutada cuando se cancela el modal -- 1.9.1