From ef70601cce0b6ebc7a3931315fec655be7c7c37f Mon Sep 17 00:00:00 2001 From: efernandez Date: Mon, 25 Feb 2019 17:28:35 -0300 Subject: [PATCH] unit test --- gulpfile.js | 20 +- package.json | 3 +- spec/controllerSpec.js | 830 ++++++++++++++++++++++++++++++++++++++ spec/routeSpec.js | 20 + spec/serviceSpec.js | 387 ++++++++++++++++++ src/js/app.js | 2 +- src/js/controller.js | 8 +- src/js/controllerDatosHojaRuta.js | 2 +- test.html | 22 + 9 files changed, 1284 insertions(+), 10 deletions(-) create mode 100644 spec/controllerSpec.js create mode 100644 spec/routeSpec.js create mode 100644 spec/serviceSpec.js create mode 100644 test.html diff --git a/gulpfile.js b/gulpfile.js index eac84a3..f5cdb1a 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -9,10 +9,13 @@ const pump = require('pump'); const jshint = require('gulp-jshint'); const replace = require('gulp-replace'); const connect = require('gulp-connect'); +const header = require('gulp-header'); +const footer = require('gulp-footer'); var paths = { srcJS: 'src/js/*.js', srcViews: 'src/views/*.html', + specs: 'spec/*.js', tmp: 'tmp', dist: 'dist/' }; @@ -31,7 +34,7 @@ gulp.task('templates', ['clean'], function() { ); }); -gulp.task('uglify', ['templates'], function() { +gulp.task('uglify', ['templates', 'uglify-spec'], function() { return pump( [ gulp.src([ @@ -48,6 +51,17 @@ gulp.task('uglify', ['templates'], function() { ); }); +gulp.task('uglify-spec', function() { + return pump([ + gulp.src(paths.specs), + concat('foca-crear-hoja-ruta.spec.js'), + replace("src/views/", ''), + header("describe('Módulo foca-crear-hoja-ruta', function() { \n"), + footer("});"), + gulp.dest(paths.dist) + ]); +}); + gulp.task('clean', function() { return gulp.src(['tmp', 'dist'], {read: false}) .pipe(clean()); @@ -56,7 +70,7 @@ gulp.task('clean', function() { gulp.task('pre-commit', function() { return pump( [ - gulp.src(paths.srcJS), + gulp.src([paths.srcJS, paths.specs]), jshint('.jshintrc'), jshint.reporter('default'), jshint.reporter('fail') @@ -74,7 +88,7 @@ gulp.task('webserver', function() { gulp.task('clean-post-install', function() { return gulp.src(['src', 'tmp', '.jshintrc','readme.md', '.gitignore', 'gulpfile.js', - 'index.html'], {read: false}) + 'index.html', 'test.html', 'spec'], {read: false}) .pipe(clean()); }); diff --git a/package.json b/package.json index ee3c6e0..f86d99e 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "description": "foca-crear-hoja-ruta", "main": "index.js", "scripts": { - "test": "echo \"Error: no test specified\" && exit 1", + "test": "test.html", "compile": "gulp uglify", "gulp-pre-commit": "gulp pre-commit", "postinstall": "npm run compile && gulp clean-post-install", @@ -22,6 +22,7 @@ "devDependencies": { "angular": "^1.7.5", "angular-ladda": "^0.4.3", + "angular-mocks": "^1.7.7", "angular-route": "^1.7.5", "bootstrap": "^4.1.3", "foca-botonera-facturador": "git+http://git.focasoftware.com/npm/foca-botonera-facturador.git", diff --git a/spec/controllerSpec.js b/spec/controllerSpec.js new file mode 100644 index 0000000..498fd6e --- /dev/null +++ b/spec/controllerSpec.js @@ -0,0 +1,830 @@ +describe('Controladores módulo crear hoja de ruta', function() { + + var $controller; + + beforeEach(function() { + + module('focaCrearHojaRuta'); + inject(function(_$controller_) { + $controller = _$controller_; + }); + }); + + describe('controlador focaModalDatosHojaRutaCtrl', function() { + + it('Existe el controlador focaModalDatosHojaRutaCtrl', function() { + + //act + var controlador = $controller('focaModalDatosHojaRutaCtrl', { + $filter: {}, + $scope: {}, + $uibModalInstance: {}, + focaModalService: {}, + parametrosDatos: {} + }); + + //assert + expect(typeof controlador).toEqual('object'); + }); + + it('función $scope.aceptar muestra alerta cuando el formulario es inválido', function() { + + //arrange + var scope = {}; + var focaModalService = { + alert: function() { } + }; + + $controller('focaModalDatosHojaRutaCtrl', { + $filter: {}, + $scope: scope, + $uibModalInstance: {}, + focaModalService: focaModalService, + parametrosDatos: {} + }); + + //act + scope.formDatosHojaRuta = { + $valid: false + }; + spyOn(focaModalService, 'alert'); + scope.aceptar(13); + + //assert + expect(focaModalService.alert).toHaveBeenCalledWith('Formulario inválido'); + }); + + it('función $scope.aceptar llama a uibModalInstance.close', function() { + + //arrange + var scope = {}; + var uibModalInstance = { + close: function() { } + }; + + $controller('focaModalDatosHojaRutaCtrl', { + $filter: {}, + $scope: scope, + $uibModalInstance: uibModalInstance, + focaModalService: {}, + parametrosDatos: {} + }); + + //act + scope.formDatosHojaRuta = { + $valid: true + }; + spyOn(uibModalInstance, 'close'); + scope.aceptar(13); + + //assert + expect(uibModalInstance.close).toHaveBeenCalled(); + }); + + it('función $scope.next suma uno a focused', function() { + + //arrange + var scope = {}; + + $controller('focaModalDatosHojaRutaCtrl', { + $filter: {}, + $scope: scope, + $uibModalInstance: {}, + focaModalService: {}, + parametrosDatos: {} + }); + scope.focused = 1; + + //act + var esperado = scope.focused + 1; + scope.next(13); + + //assert + expect(scope.focused).toEqual(esperado); + }); + + it('función $scope.cancel llama a dismiss', function() { + + //arrange + var scope = {}; + var uibModalInstance = { + dismiss: function() { } + }; + + $controller('focaModalDatosHojaRutaCtrl', { + $filter: {}, + $scope: scope, + $uibModalInstance: uibModalInstance, + focaModalService: {}, + parametrosDatos: {} + }); + + //act + spyOn(uibModalInstance, 'dismiss'); + scope.cancel(); + + //assert + expect(uibModalInstance.dismiss).toHaveBeenCalledWith('cancel'); + }); + }); + + describe('controlador hojaRutaCtrl', function() { + + var $filter = function() { + return function() { }; + }; + + var $timeout = function() { }; + + it('existe el controlador hojaRutaCtrl', function() { + + //act + var controlador = $controller('hojaRutaCtrl', { + $scope: { + $broadcast: function() { } + }, + $uibModal: {}, + $location: {}, + $filter: $filter, + $timeout: $timeout, + focaCrearHojaRutaService: { + getBotonera: function() { }, + getNumeroHojaRuta: function() { + return { + then: function() { } + }; + } + }, + focaModalService: {}, + focaBotoneraLateralService: {}, + focaLoginService: {}, + }); + + //assert + expect(typeof controlador).toEqual('object'); + }); + + it('guardar hoja ruta valida que tenga al menos un remito', function() { + + //arrange + var scope = { + $broadcast: function() { } + }; + var focaModalService = { + alert: function() { } + }; + + $controller('hojaRutaCtrl', { + $scope: scope, + $uibModal: {}, + $location: {}, + $filter: $filter, + $timeout: $timeout, + focaCrearHojaRutaService: { + getBotonera: function() { }, + getNumeroHojaRuta: function() { + return { + then: function() { } + }; + } + }, + focaModalService: focaModalService, + focaBotoneraLateralService: {}, + focaLoginService: {}, + }); + scope.remitosTabla = []; + + //act + spyOn(focaModalService, 'alert'); + + scope.crearHojaRuta(); + + //assert + expect(focaModalService.alert).toHaveBeenCalledWith('Ingrese Remitos'); + }); + + it('guardar hoja ruta valida que tenga chofer', function() { + + //arrange + var scope = { + $broadcast: function() { } + }; + var focaModalService = { + alert: function() { } + }; + + $controller('hojaRutaCtrl', { + $scope: scope, + $uibModal: {}, + $location: {}, + $filter: $filter, + $timeout: $timeout, + focaCrearHojaRutaService: { + getBotonera: function() { }, + getNumeroHojaRuta: function() { + return { + then: function() { } + }; + } + }, + focaModalService: focaModalService, + focaBotoneraLateralService: {}, + focaLoginService: {}, + }); + scope.remitosTabla = [1]; + scope.hojaRuta = { + chofer: { } + }; + + //act + spyOn(focaModalService, 'alert'); + + scope.crearHojaRuta(); + + //assert + expect(focaModalService.alert).toHaveBeenCalledWith('Ingrese Chofer'); + }); + + it('guardar hoja ruta valida que tenga vehiculo', function() { + + //arrange + var scope = { + $broadcast: function() { } + }; + var focaModalService = { + alert: function() { } + }; + + $controller('hojaRutaCtrl', { + $scope: scope, + $uibModal: {}, + $location: {}, + $filter: $filter, + $timeout: $timeout, + focaCrearHojaRutaService: { + getBotonera: function() { }, + getNumeroHojaRuta: function() { + return { + then: function() { } + }; + } + }, + focaModalService: focaModalService, + focaBotoneraLateralService: {}, + focaLoginService: {}, + }); + scope.remitosTabla = [1]; + scope.hojaRuta = { + chofer: { id: true }, + vehiculo: { } + }; + + //act + spyOn(focaModalService, 'alert'); + + scope.crearHojaRuta(); + + //assert + expect(focaModalService.alert).toHaveBeenCalledWith('Ingrese Vehiculo'); + }); + + it('guardar hoja ruta valida que tenga transportista', function() { + + //arrange + var scope = { + $broadcast: function() { } + }; + var focaModalService = { + alert: function() { } + }; + + $controller('hojaRutaCtrl', { + $scope: scope, + $uibModal: {}, + $location: {}, + $filter: $filter, + $timeout: $timeout, + focaCrearHojaRutaService: { + getBotonera: function() { }, + getNumeroHojaRuta: function() { + return { + then: function() { } + }; + } + }, + focaModalService: focaModalService, + focaBotoneraLateralService: {}, + focaLoginService: {}, + }); + scope.remitosTabla = [1]; + scope.hojaRuta = { + chofer: { id: true }, + vehiculo: { id: true }, + transportista: { } + }; + + //act + spyOn(focaModalService, 'alert'); + + scope.crearHojaRuta(); + + //assert + expect(focaModalService.alert).toHaveBeenCalledWith('Ingrese Transportista'); + }); + + it('guardar hoja ruta valida que tenga tarifario', function() { + + //arrange + var scope = { + $broadcast: function() { } + }; + var focaModalService = { + alert: function() { } + }; + + $controller('hojaRutaCtrl', { + $scope: scope, + $uibModal: {}, + $location: {}, + $filter: $filter, + $timeout: $timeout, + focaCrearHojaRutaService: { + getBotonera: function() { }, + getNumeroHojaRuta: function() { + return { + then: function() { } + }; + } + }, + focaModalService: focaModalService, + focaBotoneraLateralService: {}, + focaLoginService: {}, + }); + scope.remitosTabla = [1]; + scope.hojaRuta = { + chofer: { id: true }, + vehiculo: { id: true }, + transportista: { COD: true }, + tarifario: { } + }; + + //act + spyOn(focaModalService, 'alert'); + + scope.crearHojaRuta(); + + //assert + expect(focaModalService.alert).toHaveBeenCalledWith('Ingrese Tarifario'); + }); + + it('guardar hoja ruta valida que tenga datosExtra', function() { + + //arrange + var scope = { + $broadcast: function() { } + }; + var focaModalService = { + alert: function() { } + }; + + $controller('hojaRutaCtrl', { + $scope: scope, + $uibModal: {}, + $location: {}, + $filter: $filter, + $timeout: $timeout, + focaCrearHojaRutaService: { + getBotonera: function() { }, + getNumeroHojaRuta: function() { + return { + then: function() { } + }; + } + }, + focaModalService: focaModalService, + focaBotoneraLateralService: {}, + focaLoginService: {}, + }); + scope.remitosTabla = [1]; + scope.hojaRuta = { + chofer: { id: true }, + vehiculo: { id: true }, + transportista: { COD: true }, + tarifario: { costo: true } + }; + + //act + spyOn(focaModalService, 'alert'); + + scope.crearHojaRuta(); + + //assert + expect(focaModalService.alert).toHaveBeenCalledWith('Ingrese Datos extra'); + }); + + it('guardar hoja ruta llama focaCrearHojaRutaService.crearHojaRuta', function() { + + //arrange + var scope = { + $broadcast: function() { } + }; + var focaCrearHojaRutaService = { + getBotonera: function() { }, + getNumeroHojaRuta: function() { + return { + then: function() { } + }; + }, + crearHojaRuta: function() { } + }; + + $controller('hojaRutaCtrl', { + $scope: scope, + $uibModal: {}, + $location: {}, + $filter: $filter, + $timeout: $timeout, + focaCrearHojaRutaService: focaCrearHojaRutaService, + focaModalService: {}, + focaBotoneraLateralService: {}, + focaLoginService: {}, + }); + scope.remitosTabla = [1]; + scope.hojaRuta = { + chofer: { id: true }, + vehiculo: { id: true }, + transportista: { COD: true }, + tarifario: { costo: true }, + datosExtra: { } + }; + scope.fechaReparto = new Date(); + + var respuesta = { then: function() { } }; + + //act + spyOn(focaCrearHojaRutaService, 'crearHojaRuta').and.returnValue(respuesta); + + scope.crearHojaRuta(); + + //assert + expect(focaCrearHojaRutaService.crearHojaRuta).toHaveBeenCalled(); + }); + + it('seleccionarTransportista levanta modal y setea datos', function(done) { + + //arrange + var scope = { + $broadcast: function() { } + }; + var focaModalService = { + modal: function() { } + }; + + $controller('hojaRutaCtrl', { + $scope: scope, + $uibModal: {}, + $location: {}, + $filter: $filter, + $timeout: $timeout, + focaCrearHojaRutaService: { + getBotonera: function() { }, + getNumeroHojaRuta: function() { + return { + then: function() { } + }; + } + }, + focaModalService: focaModalService, + focaBotoneraLateralService: {}, + focaLoginService: {}, + }); + + var respuesta = 1; + var promesa = Promise.resolve(respuesta); + + //act + spyOn(focaModalService, 'modal').and.returnValue(promesa); + spyOn(scope, '$broadcast'); + + scope.seleccionarTransportista(); + + //assert + promesa.then(function() { + expect(focaModalService.modal).toHaveBeenCalled(); + expect(scope.$broadcast).toHaveBeenCalled(); + expect(scope.hojaRuta.transportista).toEqual(respuesta); + done(); + }); + + }); + + it('seleccionarChofer levanta modal y setea datos', function(done) { + + //arrange + var scope = { + $broadcast: function() { } + }; + var focaModalService = { + modal: function() { } + }; + + $controller('hojaRutaCtrl', { + $scope: scope, + $uibModal: {}, + $location: {}, + $filter: $filter, + $timeout: $timeout, + focaCrearHojaRutaService: { + getBotonera: function() { }, + getNumeroHojaRuta: function() { + return { + then: function() { } + }; + } + }, + focaModalService: focaModalService, + focaBotoneraLateralService: {}, + focaLoginService: {}, + }); + + var respuesta = 1; + var promesa = Promise.resolve(respuesta); + + //act + spyOn(focaModalService, 'modal').and.returnValue(promesa); + spyOn(scope, '$broadcast'); + + scope.seleccionarChofer(); + + //assert + promesa.then(function() { + expect(focaModalService.modal).toHaveBeenCalled(); + expect(scope.$broadcast).toHaveBeenCalled(); + expect(scope.hojaRuta.chofer).toEqual(respuesta); + done(); + }); + + }); + + it('seleccionarTarifario levanta modal y setea datos', function(done) { + + //arrange + var scope = { + $broadcast: function() { } + }; + var uibModal = { + open: function() { } + }; + + $controller('hojaRutaCtrl', { + $scope: scope, + $uibModal: uibModal, + $location: {}, + $filter: $filter, + $timeout: $timeout, + focaCrearHojaRutaService: { + getBotonera: function() { }, + getNumeroHojaRuta: function() { + return { + then: function() { } + }; + } + }, + focaModalService: {}, + focaBotoneraLateralService: {}, + focaLoginService: {}, + }); + + var respuesta = 1; + var promesa = { result: Promise.resolve(respuesta) }; + + //act + spyOn(uibModal, 'open').and.returnValue(promesa); + spyOn(scope, '$broadcast'); + + scope.seleccionarTarifario(); + + //assert + promesa.result.then(function() { + expect(uibModal.open).toHaveBeenCalled(); + expect(scope.$broadcast).toHaveBeenCalled(); + expect(scope.hojaRuta.tarifario).toEqual(respuesta); + done(); + }); + + }); + + it('seleccionarRemitos levanta modal y setea datos', function(done) { + + //arrange + var scope = { + $broadcast: function() { } + }; + var uibModal = { + open: function() { } + }; + + $controller('hojaRutaCtrl', { + $scope: scope, + $uibModal: uibModal, + $location: {}, + $filter: $filter, + $timeout: $timeout, + focaCrearHojaRutaService: { + getBotonera: function() { }, + getNumeroHojaRuta: function() { + return { + then: function() { } + }; + } + }, + focaModalService: {}, + focaBotoneraLateralService: {}, + focaLoginService: {}, + }); + scope.eligioPreConfirmado = false; + scope.fechaReparto = true; + scope.hojaRuta = { + vehiculo: { + id: true + } + }; + + var respuesta = 1; + var promesa = { result: Promise.resolve(respuesta) }; + + //act + spyOn(uibModal, 'open').and.returnValue(promesa); + + scope.seleccionarRemitos(); + + //assert + promesa.result.then(function() { + expect(uibModal.open).toHaveBeenCalled(); + done(); + }); + + }); + + it('seleccionarVehiculosPrecargados levanta modal y setea datos', function(done) { + + //arrange + var scope = { + $broadcast: function() { } + }; + var focaModalService = { + modal: function() { } + }; + var focaCrearHojaRutaService = { + getBotonera: function() { }, + getNumeroHojaRuta: function() { + return { + then: function() { } + }; + }, + getRemitosByIdVehiculo: function() { + return { + then: function() { } + }; + } + }; + + $controller('hojaRutaCtrl', { + $scope: scope, + $uibModal: {}, + $location: {}, + $filter: $filter, + $timeout: $timeout, + focaCrearHojaRutaService: focaCrearHojaRutaService, + focaModalService: focaModalService, + focaBotoneraLateralService: {}, + focaLoginService: {}, + }); + scope.eligioPreConfirmado = false; + scope.fechaReparto = new Date(); + + var respuesta = { transportista: { } }; + var promesa = Promise.resolve(respuesta); + + //act + spyOn(focaModalService, 'modal') + .and.returnValue(promesa); + spyOn(focaCrearHojaRutaService, 'getRemitosByIdVehiculo') + .and.returnValue( { then: function() { } } ); + spyOn(scope, '$broadcast'); + + scope.seleccionarVehiculosPrecargados(); + + //assert + promesa.then(function() { + expect(focaModalService.modal).toHaveBeenCalled(); + expect(focaCrearHojaRutaService.getRemitosByIdVehiculo).toHaveBeenCalled(); + expect(scope.$broadcast).toHaveBeenCalled(); + done(); + }); + + }); + + it('cargarCisterna levanta modal y devuelve promesa', function(done) { + + //arrange + var scope = { + $broadcast: function() { } + }; + var uibModal = { + open: function() { } + }; + + $controller('hojaRutaCtrl', { + $scope: scope, + $uibModal: uibModal, + $location: {}, + $filter: $filter, + $timeout: $timeout, + focaCrearHojaRutaService: { + getBotonera: function() { }, + getNumeroHojaRuta: function() { + return { + then: function() { } + }; + } + }, + focaModalService: {}, + focaBotoneraLateralService: {}, + focaLoginService: {}, + }); + scope.eligioPreConfirmado = false; + scope.fechaReparto = true; + scope.hojaRuta = { + vehiculo: { + id: true + } + }; + + var respuesta = 1; + var promesa = { result: Promise.resolve(respuesta) }; + + //act + spyOn(uibModal, 'open').and.returnValue(promesa); + + var resultado = scope.cargarCisterna(); + + //assert + promesa.result.then(function() { + expect(uibModal.open).toHaveBeenCalled(); + expect(typeof resultado).toEqual('object'); + done(); + }); + + }); + + it('seleccionarFechaEntrega levanta modal', function(done) { + + //arrange + var scope = { + $broadcast: function() { } + }; + var focaModalService = { + modalFecha: function() { } + }; + + $controller('hojaRutaCtrl', { + $scope: scope, + $uibModal: {}, + $location: {}, + $filter: $filter, + $timeout: $timeout, + focaCrearHojaRutaService: { + getBotonera: function() { }, + getNumeroHojaRuta: function() { + return { + then: function() { } + }; + } + }, + focaModalService: focaModalService, + focaBotoneraLateralService: {}, + focaLoginService: {}, + }); + + var respuesta = new Date(); + var promesa = Promise.resolve(respuesta); + + //act + spyOn(focaModalService, 'modalFecha').and.returnValue(promesa); + spyOn(scope, '$broadcast'); + + scope.seleccionarFechaEntrega(); + + //assert + promesa.then(function() { + expect(focaModalService.modalFecha).toHaveBeenCalled(); + expect(scope.$broadcast).toHaveBeenCalled(); + done(); + }); + + }); + + }); + +}); diff --git a/spec/routeSpec.js b/spec/routeSpec.js new file mode 100644 index 0000000..1fc6162 --- /dev/null +++ b/spec/routeSpec.js @@ -0,0 +1,20 @@ +describe('Rutas de módulo crear hoja de ruta', function() { + + var route; + + beforeEach(function() { + module('focaCrearHojaRuta'); + inject(function($route) { + route = $route; + }); + }); + + it('La ruta /venta-hoja-ruta/crear dirige correctamente', function() { + + //assert + expect(route.routes['/venta-hoja-ruta/crear'].controller) + .toBe('hojaRutaCtrl'); + expect(route.routes['/venta-hoja-ruta/crear'].templateUrl) + .toBe('src/views/hoja-ruta.html'); + }); +}); \ No newline at end of file diff --git a/spec/serviceSpec.js b/spec/serviceSpec.js new file mode 100644 index 0000000..9f6f7b8 --- /dev/null +++ b/spec/serviceSpec.js @@ -0,0 +1,387 @@ +describe('Servicios modulo crear hoja de ruta', function() { + + beforeEach(function() { + module('focaCrearHojaRuta'); + inject(module(function($provide) { + $provide.value('API_ENDPOINT', { + URL: 'localhost' + }); + })); + }); + + describe('Servicio focaCrearHojaRutaService', function() { + + var servicio; + var httpBackend; + + beforeEach(function() { + inject(function($httpBackend, _focaCrearHojaRutaService_) { + httpBackend = $httpBackend; + servicio = _focaCrearHojaRutaService_; + }); + }); + + it('Existe el servicio focaCrearHojaRutaService', function() { + + //assert + expect(typeof servicio).toEqual('object'); + }); + + it('función crearHojaRuta llama ruta correcta', function() { + + //arrange + var responseFake = 'responseFake'; + var result; + var paramFake = 'test'; + + httpBackend.expectPOST('localhost/hoja-ruta', paramFake).respond(responseFake); + + //act + servicio.crearHojaRuta(paramFake).then(function(data) { + result = data.data; + }); + httpBackend.flush(); + + //assert + expect(result).toEqual(responseFake); + }); + + it('función obtenerHojaRuta llama ruta correcta', function() { + + //arrange + var responseFake = 'responseFake'; + var result; + + httpBackend.expectGET('localhost/hoja-ruta').respond(responseFake); + + //act + servicio.obtenerHojaRuta().then(function(data) { + result = data.data; + }); + httpBackend.flush(); + + //assert + expect(result).toEqual(responseFake); + }); + + it('función setHojaRuta llama ruta correcta', function() { + + //arrange + var paramFake = 'paramFake'; + + //act + servicio.setHojaRuta(paramFake); + + //assert + expect(servicio.hojaRuta).toEqual(paramFake); + }); + + it('función clearHojaRuta llama ruta correcta', function() { + + //act + servicio.clearHojaRuta(); + + //assert + expect(servicio.hojaRuta).toEqual(undefined); + }); + + it('función getHojaRuta llama ruta correcta', function() { + + //arrange + var esperado = 'unit test'; + servicio.hojaRuta = esperado; + + //act + var resultado = servicio.getHojaRuta(); + + //assert + expect(resultado).toEqual(esperado); + }); + + it('función getArticulosByIdHojaRuta llama ruta correcta', function() { + + //arrange + var responseFake = 'responseFake'; + var paramFake = 'param fake'; + var result; + + httpBackend.expectGET('localhost/articulos/hoja-ruta/' + paramFake) + .respond(responseFake); + + //act + servicio.getArticulosByIdHojaRuta(paramFake).then(function(data) { + result = data.data; + }); + httpBackend.flush(); + + //assert + expect(result).toEqual(responseFake); + }); + + it('función crearArticulosParaHojaRuta llama ruta correcta', function() { + + //arrange + var responseFake = 'responseFake'; + var paramFake = 'param fake'; + var result; + + httpBackend.expectPOST('localhost/articulos/hoja-ruta', + { articuloHojaRuta: paramFake }).respond(responseFake); + + //act + servicio.crearArticulosParaHojaRuta(paramFake).then(function(data) { + result = data.data; + }); + httpBackend.flush(); + + //assert + expect(result).toEqual(responseFake); + }); + + it('función getDomiciliosByIdHojaRuta llama ruta correcta', function() { + + //arrange + var responseFake = 'responseFake'; + var paramFake = 'param-fake'; + var result; + + httpBackend.expectGET('localhost/hoja-ruta/' + paramFake + '/domicilios') + .respond(responseFake); + + //act + servicio.getDomiciliosByIdHojaRuta(paramFake).then(function(data) { + result = data.data; + }); + httpBackend.flush(); + + //assert + expect(result).toEqual(responseFake); + }); + + it('función getDomiciliosByIdCliente llama ruta correcta', function() { + + //arrange + var responseFake = 'responseFake'; + var paramFake = 'param-fake'; + var result; + + httpBackend.expectGET('localhost/domicilio/tipo/2/cliente/' + paramFake ) + .respond(responseFake); + + //act + servicio.getDomiciliosByIdCliente(paramFake).then(function(data) { + result = data.data; + }); + httpBackend.flush(); + + //assert + expect(result).toEqual(responseFake); + }); + + it('función getPrecioCondicion llama ruta correcta', function() { + + //arrange + var responseFake = 'responseFake'; + var result; + + httpBackend.expectGET('localhost/precio-condicion') + .respond(responseFake); + + //act + servicio.getPrecioCondicion().then(function(data) { + result = data.data; + }); + httpBackend.flush(); + + //assert + expect(result).toEqual(responseFake); + }); + + it('función getPrecioCondicionById llama ruta correcta', function() { + + //arrange + var responseFake = 'responseFake'; + var paramFake = 'param-fake'; + var result; + + httpBackend.expectGET('localhost/precio-condicion/' + paramFake) + .respond(responseFake); + + //act + servicio.getPrecioCondicionById(paramFake).then(function(data) { + result = data.data; + }); + httpBackend.flush(); + + //assert + expect(result).toEqual(responseFake); + }); + + it('función getPlazoPagoByPrecioCondicion llama ruta correcta', function() { + + //arrange + var responseFake = 'responseFake'; + var paramFake = 'param-fake'; + var result; + + httpBackend.expectGET('localhost/plazo-pago/precio-condicion/' + paramFake) + .respond(responseFake); + + //act + servicio.getPlazoPagoByPrecioCondicion(paramFake).then(function(data) { + result = data.data; + }); + httpBackend.flush(); + + //assert + expect(result).toEqual(responseFake); + }); + + it('función crearFlete llama ruta correcta', function() { + + //arrange + var responseFake = 'responseFake'; + var paramFake = 'param-fake'; + var result; + + httpBackend.expectPOST('localhost/flete', { flete: paramFake }) + .respond(responseFake); + + //act + servicio.crearFlete(paramFake).then(function(data) { + result = data.data; + }); + httpBackend.flush(); + + //assert + expect(result).toEqual(responseFake); + }); + + it('función crearPlazosParaHojaRuta llama ruta correcta', function() { + + //arrange + var responseFake = 'responseFake'; + var paramFake = 'param-fake'; + var result; + + httpBackend.expectPOST('localhost/plazo-pago/hoja-ruta', paramFake) + .respond(responseFake); + + //act + servicio.crearPlazosParaHojaRuta(paramFake).then(function(data) { + result = data.data; + }); + httpBackend.flush(); + + //assert + expect(result).toEqual(responseFake); + }); + + it('función getCotizacionByIdMoneda llama ruta correcta', function() { + + //arrange + var responseFake = 'responseFake'; + var paramFake = 'param-fake'; + var result; + + httpBackend.expectGET('localhost/moneda/' + paramFake) + .respond(responseFake); + + //act + servicio.getCotizacionByIdMoneda(paramFake).then(function(data) { + result = data.data; + }); + httpBackend.flush(); + + //assert + expect(result).toEqual(responseFake); + }); + + it('función crearEstadoParaHojaRuta llama ruta correcta', function() { + + //arrange + var responseFake = 'responseFake'; + var paramFake = 'param-fake'; + var result; + + httpBackend.expectPOST('localhost/estado', { estado: paramFake}) + .respond(responseFake); + + //act + servicio.crearEstadoParaHojaRuta(paramFake).then(function(data) { + result = data.data; + }); + httpBackend.flush(); + + //assert + expect(result).toEqual(responseFake); + }); + + it('función getNumeroHojaRuta llama ruta correcta', function() { + + //arrange + var responseFake = 'responseFake'; + var result; + + httpBackend.expectGET('localhost/hoja-ruta/numero-siguiente') + .respond(responseFake); + + //act + servicio.getNumeroHojaRuta().then(function(data) { + result = data.data; + }); + httpBackend.flush(); + + //assert + expect(result).toEqual(responseFake); + }); + + it('función getRemitosByIdVehiculo llama ruta correcta', function() { + + //arrange + var responseFake = 'responseFake'; + var paramFake = 'param fake'; + var dateFake = new Date(); + var result; + + httpBackend.expectGET('localhost/vehiculo/obtener/remitos/' + paramFake + '/' + + dateFake.toISOString().substring(0, 10)) + .respond(responseFake); + + //act + servicio.getRemitosByIdVehiculo(paramFake, dateFake).then(function(data) { + result = data.data; + }); + httpBackend.flush(); + + //assert + expect(result).toEqual(responseFake); + }); + + it('función desasociarRemitos llama ruta correcta', function() { + + //arrange + var responseFake = 'responseFake'; + var paramFake = 'param fake'; + var paramFake2 = 'param fake 2'; + var paramFake3 = 'param fake 3'; + var result; + + httpBackend.expectPOST('localhost/vehiculo/desasociar-remitos', + { + idsRemitos: paramFake, + idVehiculo: paramFake2, + vehiculoSinRemitos: paramFake3 + }).respond(responseFake); + + //act + servicio.desasociarRemitos(paramFake, paramFake2, paramFake3).then(function(data) { + result = data.data; + }); + httpBackend.flush(); + + //assert + expect(result).toEqual(responseFake); + }); + }); +}); diff --git a/src/js/app.js b/src/js/app.js index 2a3b8c8..fe333dd 100644 --- a/src/js/app.js +++ b/src/js/app.js @@ -1 +1 @@ -angular.module('focaCrearHojaRuta', []); +angular.module('focaCrearHojaRuta', ['ngRoute']); diff --git a/src/js/controller.js b/src/js/controller.js index f07a54d..3c17c76 100644 --- a/src/js/controller.js +++ b/src/js/controller.js @@ -23,7 +23,7 @@ angular.module('focaCrearHojaRuta') .controller('hojaRutaCtrl', $scope.now = new Date(); $scope.puntoVenta = $filter('rellenarDigitos')(0, 4); $scope.comprobante = $filter('rellenarDigitos')(0, 8); - + //SETEO BOTONERA LATERAL $timeout(function() { focaBotoneraLateralService.showSalir(false); @@ -50,7 +50,7 @@ angular.module('focaCrearHojaRuta') .controller('hojaRutaCtrl', costo: null } }; - + $scope.remitosTabla = []; $scope.idLista = undefined; @@ -120,7 +120,7 @@ angular.module('focaCrearHojaRuta') .controller('hojaRutaCtrl', $filter('rellenarDigitos')(data.data.sucursal, 4) + '-' + $filter('rellenarDigitos')(data.data.numeroHojaRuta, 8) ); - + init(); }, function(error) { @@ -474,7 +474,7 @@ angular.module('focaCrearHojaRuta') .controller('hojaRutaCtrl', .toISOString().substring(0, 10) && cisternaCarga.idUsuarioProceso && cisternaCarga.idUsuarioProceso !== idUsuario) { - focaModalService.alert('El vehículo está siendo usado por otro' + + focaModalService.alert('El vehículo está siendo usado por otro' + ' usuario'); return true; } diff --git a/src/js/controllerDatosHojaRuta.js b/src/js/controllerDatosHojaRuta.js index d39e370..dca8b71 100644 --- a/src/js/controllerDatosHojaRuta.js +++ b/src/js/controllerDatosHojaRuta.js @@ -1,5 +1,5 @@ angular.module('focaCrearHojaRuta') - .controller('focaModalDatosHojaRutaCtrl', + .controller('focaModalDatosHojaRutaCtrl', [ '$filter', '$scope', diff --git a/test.html b/test.html new file mode 100644 index 0000000..14a715b --- /dev/null +++ b/test.html @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + -- 1.9.1