Commit 024b96bb91bd12c1f9ef7420b60a95682fe6ad3b

Authored by Jose Pinto
Exists in master

Merge branch 'master' into 'master'

Master(efernandez)

See merge request !9
... ... @@ -9,10 +9,13 @@ const pump = require('pump');
9 9 const jshint = require('gulp-jshint');
10 10 const replace = require('gulp-replace');
11 11 const connect = require('gulp-connect');
  12 +const header = require('gulp-header');
  13 +const footer = require('gulp-footer');
12 14  
13 15 var paths = {
14 16 srcJS: 'src/js/*.js',
15 17 srcViews: 'src/views/*.html',
  18 + specs: 'spec/*.js',
16 19 tmp: 'tmp',
17 20 dist: 'dist/'
18 21 };
... ... @@ -31,7 +34,7 @@ gulp.task('templates', function() {
31 34 );
32 35 });
33 36  
34   -gulp.task('uglify', ['templates'], function() {
  37 +gulp.task('uglify', ['templates', 'uglify-spec'], function() {
35 38 return pump(
36 39 [
37 40 gulp.src([
... ... @@ -40,7 +43,6 @@ gulp.task('uglify', ['templates'], function() {
40 43 ]),
41 44 concat('foca-abm-precios-condiciones.js'),
42 45 replace('src/views/', ''),
43   - replace("['ngRoute', 'ui.bootstrap', 'focaModal']", '[]'),
44 46 gulp.dest(paths.tmp),
45 47 rename('foca-abm-precios-condiciones.min.js'),
46 48 uglify(),
... ... @@ -49,15 +51,26 @@ gulp.task('uglify', ['templates'], function() {
49 51 );
50 52 });
51 53  
  54 +gulp.task('uglify-spec', function() {
  55 + return pump([
  56 + gulp.src(paths.specs),
  57 + concat('foca-abm-precios-condiciones.spec.js'),
  58 + replace("src/views/", ''),
  59 + header("describe('Módulo foca-abm-precios-condiciones', function() { \n"),
  60 + footer("});"),
  61 + gulp.dest(paths.dist)
  62 + ]);
  63 +});
  64 +
52 65 gulp.task('clean', function() {
53 66 return gulp.src(['tmp', 'dist'], {read: false})
54 67 .pipe(clean());
55 68 });
56 69  
57 70 gulp.task('pre-commit', function() {
58   - pump(
  71 + return pump(
59 72 [
60   - gulp.src(paths.srcJS),
  73 + gulp.src([paths.srcJS, paths.specs]),
61 74 jshint('.jshintrc'),
62 75 jshint.reporter('default'),
63 76 jshint.reporter('fail')
... ... @@ -67,7 +80,7 @@ gulp.task('pre-commit', function() {
67 80  
68 81 gulp.task('clean-post-install', function() {
69 82 return gulp.src(['src', 'tmp', '.jshintrc','readme.md', '.gitignore', 'gulpfile.js',
70   - 'index.html'], {read: false})
  83 + 'index.html', 'spec', 'test.html'], {read: false})
71 84 .pipe(clean());
72 85 });
73 86  
... ... @@ -1,32 +0,0 @@
1   -<html ng-app="focaAbmPreciosCondiciones">
2   -
3   -<head>
4   - <meta charset="UTF-8" />
5   - <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
6   -
7   - <!--CSS-->
8   - <link href="node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet" />
9   - <link href="node_modules/font-awesome/css/font-awesome.min.css" rel="stylesheet" />
10   -
11   - <!--VENDOR JS-->
12   - <script src="node_modules/jquery/dist/jquery.min.js"></script>
13   - <script src="node_modules/bootstrap/dist/js/bootstrap.min.js"></script>
14   - <script src="node_modules/angular/angular.min.js"></script>
15   - <script src="node_modules/angular-route/angular-route.min.js"></script>
16   - <script src="node_modules/ui-bootstrap4/dist/ui-bootstrap-tpls.js"></script>
17   - <script src="node_modules/foca-modal/dist/foca-modal.min.js"></script>
18   -
19   - <!-- BUILD -->
20   - <script src="src/js/app.js"></script>
21   - <script src="src/js/route.js"></script>
22   - <script src="src/js/controller.js"></script>
23   - <script src="src/js/service.js"></script>
24   - <script src="src/etc/develop.js"></script>
25   - <!-- /BUILD -->
26   -
27   -<body>
28   - <div ng-view>
29   - </div>
30   -</body>
31   -
32   -</html>
... ... @@ -4,11 +4,11 @@
4 4 "description": "ABM de precios y condiciones",
5 5 "main": "dist/foca-abm-precios-condiciones.js",
6 6 "scripts": {
7   - "test": "echo \"Error: no test specified\" && exit 1",
  7 + "test": "test.html",
8 8 "compile": "gulp uglify",
9 9 "gulp-pre-commit": "gulp pre-commit",
10 10 "postinstall": "npm run compile && gulp clean-post-install",
11   - "install-dev": "npm install -D jasmine-core pre-commit angular angular-route bootstrap ui-bootstrap4 font-awesome gulp gulp-angular-templatecache gulp-connect gulp-clean gulp-htmlmin gulp-jshint gulp-rename gulp-replace gulp-sequence gulp-uglify-es gulp-uglify gulp-replace jquery jshint pump git+http://git.focasoftware.com/npm/foca-modal.git"
  11 + "install-dev": "npm install -D jasmine-core pre-commit angular angular-route bootstrap ui-bootstrap4 font-awesome gulp gulp-angular-templatecache gulp-connect gulp-clean gulp-htmlmin gulp-jshint gulp-rename gulp-replace gulp-sequence gulp-uglify-es gulp-uglify gulp-replace jquery jshint pump angular-mocks git+http://git.focasoftware.com/npm/foca-modal.git"
12 12 },
13 13 "pre-commit": [
14 14 "gulp-pre-commit"
... ... @@ -34,15 +34,16 @@
34 34 "pump": "^3.0.x"
35 35 },
36 36 "devDependencies": {
37   - "angular": "^1.7.4",
38   - "angular-route": "^1.7.5",
39   - "bootstrap": "^4.1.3",
  37 + "angular": "^1.7.7",
  38 + "angular-mocks": "^1.7.7",
  39 + "angular-route": "^1.7.7",
  40 + "bootstrap": "^4.2.1",
40 41 "foca-modal": "git+http://git.focasoftware.com/npm/foca-modal.git",
41 42 "font-awesome": "^4.7.0",
42 43 "gulp": "^3.9.1",
43   - "gulp-angular-templatecache": "^2.2.1",
  44 + "gulp-angular-templatecache": "^2.2.6",
44 45 "gulp-clean": "^0.4.0",
45   - "gulp-connect": "^5.6.1",
  46 + "gulp-connect": "^5.7.0",
46 47 "gulp-htmlmin": "^5.0.1",
47 48 "gulp-jshint": "^2.1.0",
48 49 "gulp-rename": "^1.4.0",
... ... @@ -50,11 +51,11 @@
50 51 "gulp-sequence": "^1.0.0",
51 52 "gulp-uglify": "^3.0.1",
52 53 "gulp-uglify-es": "^1.0.4",
53   - "jasmine-core": "^3.2.1",
  54 + "jasmine-core": "^3.3.0",
54 55 "jquery": "^3.3.1",
55   - "jshint": "^2.9.6",
  56 + "jshint": "^2.10.1",
56 57 "pre-commit": "^1.2.2",
57 58 "pump": "^3.0.0",
58   - "ui-bootstrap4": "^3.0.5"
  59 + "ui-bootstrap4": "^3.0.6"
59 60 }
60 61 }
spec/controllerSpec.js
... ... @@ -0,0 +1,412 @@
  1 +describe('Controladores abm precios condiciones', function() {
  2 +
  3 + var $controller;
  4 + var timeout;
  5 +
  6 + beforeEach(function() {
  7 + module('focaAbmPreciosCondiciones');
  8 + inject(function(_$controller_) {
  9 + $controller = _$controller_;
  10 + });
  11 + });
  12 +
  13 + beforeEach(function() {
  14 + inject(function($timeout) {
  15 + timeout = $timeout;
  16 + });
  17 + });
  18 +
  19 + describe('Controlador focaAbmPreciosCondiciones', function() {
  20 +
  21 + it('Existe el controlador', function() {
  22 + //act
  23 + var controlador = $controller('focaAbmPreciosCondicionesController', {
  24 + $scope: {},
  25 + focaAbmPreciosCondicionesService: {},
  26 + $location: {},
  27 + focaModalService: {},
  28 + focaBotoneraLateralService: {},
  29 + $timeout: timeout
  30 + });
  31 +
  32 + //assert
  33 + expect(typeof controlador).toEqual('object');
  34 + });
  35 +
  36 + it('$scope.editar lleva a la ruta correcta', function() {
  37 + inject(function($location) {
  38 + //arrange
  39 + var scope = {};
  40 + var paramFake = 1;
  41 + $controller('focaAbmPreciosCondicionesController', {
  42 + $scope: scope,
  43 + focaAbmPreciosCondicionesService: {},
  44 + $location: $location,
  45 + focaModalService: {},
  46 + focaBotoneraLateralService: {},
  47 + $timeout: timeout
  48 + });
  49 +
  50 +
  51 + //act
  52 + scope.editar(paramFake);
  53 +
  54 + //assert
  55 + expect($location.url()).toEqual('/precio-condicion/' + paramFake);
  56 + });
  57 + });
  58 +
  59 + it('$scope.solicitarConfirmacion levanta modal confirm', function() {
  60 + //arrange
  61 + var scope = {};
  62 + var paramFake = 1;
  63 + var focaModalService = {
  64 + confirm: function() { }
  65 + };
  66 + $controller('focaAbmPreciosCondicionesController', {
  67 + $scope: scope,
  68 + focaAbmPreciosCondicionesService: {},
  69 + $location: {},
  70 + focaModalService: focaModalService,
  71 + focaBotoneraLateralService: {},
  72 + $timeout: timeout
  73 + });
  74 +
  75 + //act
  76 + spyOn(focaModalService, 'confirm').and.returnValue({ then: function() { }});
  77 + scope.solicitarConfirmacion(paramFake);
  78 +
  79 + //assert
  80 + expect(focaModalService.confirm).toHaveBeenCalled();
  81 + });
  82 +
  83 + it('$scope.solicitarConfirmacion elimina al confirmar ok', function(done) {
  84 + //arrange
  85 + var scope = {};
  86 + var paramFake = 1;
  87 + var focaModalService = {
  88 + confirm: function() { }
  89 + };
  90 + var focaAbmPreciosCondicionesService = {
  91 + borrarPrecioCondicion: function() { }
  92 + };
  93 + $controller('focaAbmPreciosCondicionesController', {
  94 + $scope: scope,
  95 + focaAbmPreciosCondicionesService: focaAbmPreciosCondicionesService,
  96 + $location: {},
  97 + focaModalService: focaModalService,
  98 + focaBotoneraLateralService: {},
  99 + $timeout: timeout
  100 + });
  101 + var promesaConfirm = Promise.resolve(true);
  102 + scope.preciosCondiciones = [];
  103 +
  104 + //act
  105 + spyOn(focaModalService, 'confirm').and.returnValue(promesaConfirm);
  106 + spyOn(focaAbmPreciosCondicionesService, 'borrarPrecioCondicion');
  107 + scope.solicitarConfirmacion(paramFake);
  108 +
  109 + //assert
  110 + promesaConfirm.then(function() {
  111 + expect(focaAbmPreciosCondicionesService.borrarPrecioCondicion).toHaveBeenCalled();
  112 + done();
  113 + });
  114 + });
  115 +
  116 + it('$scope.buscar llama a obtenerPreciosCondiciones', function() {
  117 + //arrange
  118 + var scope = {};
  119 + var focaAbmPreciosCondicionesService = {
  120 + obtenerPreciosCondiciones: function() { }
  121 + };
  122 + $controller('focaAbmPreciosCondicionesController', {
  123 + $scope: scope,
  124 + focaAbmPreciosCondicionesService: focaAbmPreciosCondicionesService,
  125 + $location: {},
  126 + focaModalService: {},
  127 + focaBotoneraLateralService: {},
  128 + $timeout: timeout
  129 + });
  130 +
  131 + //act
  132 + spyOn(focaAbmPreciosCondicionesService, 'obtenerPreciosCondiciones')
  133 + .and.returnValue({ then: function() { }});
  134 + scope.buscar(13);
  135 +
  136 + //assert
  137 + expect(focaAbmPreciosCondicionesService.obtenerPreciosCondiciones).toHaveBeenCalled();
  138 + });
  139 + });
  140 +
  141 + describe('Controlador focaAbmPrecioCondicionController', function() {
  142 +
  143 + it('Existe el controlador focaAbmPrecioCondicionController', function() {
  144 + //act
  145 + var controlador = $controller('focaAbmPrecioCondicionController', {
  146 + $scope: {},
  147 + focaAbmPreciosCondicionesService: {
  148 + obtenerPrecioCondicion: function() {
  149 + return {
  150 + then: function() { }
  151 + };
  152 + }
  153 + },
  154 + focaBotoneraLateralService: {},
  155 + $routeParams: {},
  156 + $location: {},
  157 + focaModalService: {},
  158 + $timeout: timeout,
  159 + $uibModal: {},
  160 + $window: {}
  161 + });
  162 +
  163 + //assert
  164 + expect(typeof controlador).toEqual('object');
  165 + });
  166 +
  167 + it('La funcion $scope.cancelar lleva a la ruta correcta', function() {
  168 + inject(function($location) {
  169 + //arrange
  170 + var scope = {};
  171 + $controller('focaAbmPrecioCondicionController', {
  172 + $scope: scope,
  173 + focaAbmPreciosCondicionesService: {
  174 + obtenerPrecioCondicion: function() {
  175 + return {
  176 + then: function() { }
  177 + };
  178 + }
  179 + },
  180 + focaBotoneraLateralService: {},
  181 + $routeParams: {},
  182 + $location: $location,
  183 + focaModalService: {},
  184 + $timeout: timeout,
  185 + $uibModal: {},
  186 + $window: {}
  187 + });
  188 +
  189 + //act
  190 + scope.cancelar();
  191 +
  192 + //assert
  193 + expect($location.url()).toEqual('/precio-condicion');
  194 + });
  195 + });
  196 +
  197 + it('La funcion $scope.guardar llama a servicio.guardarPrecioCondicion', function() {
  198 + inject(function($location) {
  199 + //arrange
  200 + var scope = {};
  201 + var focaAbmPreciosCondicionesService = {
  202 + obtenerPrecioCondicion: function() {
  203 + return {
  204 + then: function() { }
  205 + };
  206 + },
  207 + guardarPrecioCondicion: function() { }
  208 + };
  209 + var window = {
  210 + location: {
  211 + assign: function() { }
  212 + }
  213 + };
  214 + $controller('focaAbmPrecioCondicionController', {
  215 + $scope: scope,
  216 + focaAbmPreciosCondicionesService: focaAbmPreciosCondicionesService,
  217 + focaBotoneraLateralService: {},
  218 + $routeParams: {},
  219 + $location: $location,
  220 + focaModalService: {},
  221 + $timeout: timeout,
  222 + $uibModal: {},
  223 + $window: window
  224 + });
  225 + var promesaGuardarPrecioCondicion = Promise.resolve(true);
  226 + scope.precioCondicion = { listaPrecio: {} };
  227 +
  228 + //act
  229 + //spyOn(window, 'location').and.returnValue({ assign: function() {} });
  230 + spyOn(focaAbmPreciosCondicionesService, 'guardarPrecioCondicion')
  231 + .and.returnValue(promesaGuardarPrecioCondicion);
  232 + scope.guardar();
  233 +
  234 + //assert
  235 + expect(focaAbmPreciosCondicionesService.guardarPrecioCondicion).toHaveBeenCalled();
  236 + });
  237 + });
  238 +
  239 + it('La funcion $scope.solicitarConfirmacionPlazoPago levanta modal confirm', function() {
  240 + //act
  241 + var scope = {};
  242 + var focaModalService = {
  243 + confirm: function() { }
  244 + };
  245 + $controller('focaAbmPrecioCondicionController', {
  246 + $scope: scope,
  247 + focaAbmPreciosCondicionesService: {
  248 + obtenerPrecioCondicion: function() {
  249 + return {
  250 + then:function() { }
  251 + };
  252 + }
  253 + },
  254 + focaBotoneraLateralService: {},
  255 + $routeParams: {},
  256 + $location: {},
  257 + focaModalService: focaModalService,
  258 + $timeout: timeout,
  259 + $uibModal: {},
  260 + $window: {}
  261 + });
  262 +
  263 + //act
  264 + spyOn(focaModalService, 'confirm')
  265 + .and.returnValue({ then: function() {} });
  266 + scope.solicitarConfirmacionPlazoPago({ data: 'test' });
  267 +
  268 + //assert
  269 + expect(focaModalService.confirm).toHaveBeenCalled();
  270 + });
  271 +
  272 + it('La funcion $scope.solicitarConfirmacionPlazoPago borra al dar ok', function(done) {
  273 + //act
  274 + var scope = {};
  275 + var focaModalService = {
  276 + confirm: function() { }
  277 + };
  278 + var focaAbmPreciosCondicionesService = {
  279 + obtenerPrecioCondicion: function() {
  280 + return {
  281 + then:function() { }
  282 + };
  283 + },
  284 + borrarPlazoPago: function() { }
  285 + };
  286 + $controller('focaAbmPrecioCondicionController', {
  287 + $scope: scope,
  288 + focaAbmPreciosCondicionesService: focaAbmPreciosCondicionesService,
  289 + focaBotoneraLateralService: {},
  290 + $routeParams: {},
  291 + $location: {},
  292 + focaModalService: focaModalService,
  293 + $timeout: timeout,
  294 + $uibModal: {},
  295 + $window: {}
  296 + });
  297 + var promesaConfirm = Promise.resolve(true);
  298 + scope.precioCondicion = {
  299 + plazos: []
  300 + };
  301 +
  302 + //act
  303 + spyOn(focaModalService, 'confirm').and.returnValue(promesaConfirm);
  304 + spyOn(focaAbmPreciosCondicionesService, 'borrarPlazoPago');
  305 + scope.solicitarConfirmacionPlazoPago({ data: 'test' });
  306 +
  307 + //assert
  308 + promesaConfirm.then(function() {
  309 + expect(focaAbmPreciosCondicionesService.borrarPlazoPago).toHaveBeenCalled();
  310 + done();
  311 + });
  312 + });
  313 +
  314 + it('La funcion $scope.seleccionarListaPrecio levanta modal', function() {
  315 + //arrange
  316 + var scope = {};
  317 + var uibModal = {
  318 + open: function() { }
  319 + };
  320 + var focaAbmPreciosCondicionesService = {
  321 + obtenerPrecioCondicion: function() {
  322 + return {
  323 + then:function() { }
  324 + };
  325 + }
  326 + };
  327 + $controller('focaAbmPrecioCondicionController', {
  328 + $scope: scope,
  329 + focaAbmPreciosCondicionesService: focaAbmPreciosCondicionesService,
  330 + focaBotoneraLateralService: {},
  331 + $routeParams: {},
  332 + $location: {},
  333 + focaModalService: {},
  334 + $timeout: timeout,
  335 + $uibModal: uibModal,
  336 + $window: {}
  337 + });
  338 +
  339 + //act
  340 + spyOn(uibModal, 'open').and.returnValue({ result: { then: function() { } } });
  341 + scope.seleccionarListaPrecio(13);
  342 +
  343 + //assert
  344 + expect(uibModal.open).toHaveBeenCalled();
  345 + });
  346 +
  347 + it('La funcion $scope.verProductosListaPrecio levanta modal', function() {
  348 + //arrange
  349 + var scope = {};
  350 + var uibModal = {
  351 + open: function() { }
  352 + };
  353 + var focaAbmPreciosCondicionesService = {
  354 + obtenerPrecioCondicion: function() {
  355 + return {
  356 + then:function() { }
  357 + };
  358 + }
  359 + };
  360 + $controller('focaAbmPrecioCondicionController', {
  361 + $scope: scope,
  362 + focaAbmPreciosCondicionesService: focaAbmPreciosCondicionesService,
  363 + focaBotoneraLateralService: {},
  364 + $routeParams: {},
  365 + $location: {},
  366 + focaModalService: {},
  367 + $timeout: timeout,
  368 + $uibModal: uibModal,
  369 + $window: {}
  370 + });
  371 + scope.precioCondicion = {
  372 + listaPrecio: {}
  373 + };
  374 + //act
  375 + spyOn(uibModal, 'open');
  376 + scope.verProductosListaPrecio();
  377 +
  378 + //assert
  379 + expect(uibModal.open).toHaveBeenCalled();
  380 + });
  381 +
  382 + it('la función next suma uno a $scope.focused', function() {
  383 + //arrange
  384 + var scope = {};
  385 + var focaAbmPreciosCondicionesService = {
  386 + obtenerPrecioCondicion: function() {
  387 + return {
  388 + then:function() { }
  389 + };
  390 + }
  391 + };
  392 + $controller('focaAbmPrecioCondicionController', {
  393 + $scope: scope,
  394 + focaAbmPreciosCondicionesService: focaAbmPreciosCondicionesService,
  395 + focaBotoneraLateralService: {},
  396 + $routeParams: {},
  397 + $location: {},
  398 + focaModalService: {},
  399 + $timeout: timeout,
  400 + $uibModal: {},
  401 + $window: {}
  402 + });
  403 +
  404 + //act
  405 + var esperado = scope.focused + 1;
  406 + scope.next(13);
  407 +
  408 + //assert
  409 + expect(scope.focused).toEqual(esperado);
  410 + });
  411 + });
  412 +});
... ... @@ -0,0 +1,27 @@
  1 +describe('Rutas de abm precios condiciones', function() {
  2 +
  3 + var route;
  4 +
  5 + beforeEach(function() {
  6 + module('focaAbmPreciosCondiciones');
  7 + inject(function($route) {
  8 + route = $route;
  9 + });
  10 + });
  11 +
  12 + it('Ruta /precio-condicion dirije correctamente', function() {
  13 + //assert
  14 + expect(route.routes['/precio-condicion'].controller)
  15 + .toBe('focaAbmPreciosCondicionesController');
  16 + expect(route.routes['/precio-condicion'].templateUrl)
  17 + .toBe('src/views/foca-abm-precios-condiciones-listado.html');
  18 + });
  19 +
  20 + it('Ruta /precio-condicion/:id dirije correctamente', function() {
  21 + //assert
  22 + expect(route.routes['/precio-condicion/:id'].controller)
  23 + .toBe('focaAbmPrecioCondicionController');
  24 + expect(route.routes['/precio-condicion/:id'].templateUrl)
  25 + .toBe('src/views/foca-abm-precios-condiciones-item.html');
  26 + });
  27 +});
... ... @@ -0,0 +1,157 @@
  1 +describe('Servicios abm precios condiciones', function() {
  2 +
  3 + var httpBackend;
  4 +
  5 + beforeEach(function() {
  6 + module('focaAbmPreciosCondiciones');
  7 +
  8 + inject(module(function($provide) {
  9 + $provide.value('API_ENDPOINT', {
  10 + URL: 'localhost'
  11 + });
  12 + }));
  13 + });
  14 +
  15 + describe('servicio focaAbmPreciosCondicionesService', function() {
  16 +
  17 + var servicio;
  18 +
  19 + beforeEach(function() {
  20 + inject(function(focaAbmPreciosCondicionesService, $httpBackend) {
  21 + servicio = focaAbmPreciosCondicionesService;
  22 + httpBackend = $httpBackend;
  23 + });
  24 + });
  25 +
  26 + it('existe el servicio focaAbmPreciosCondicionesService', function() {
  27 + //assert
  28 + expect(typeof servicio).toEqual('object');
  29 + });
  30 +
  31 + it('la función obtenerPreciosCondiciones llama ruta correcta', function() {
  32 + //arrange
  33 + var responseFake = { data: 'test'};
  34 + var result;
  35 + var bodyFake = 1;
  36 + httpBackend.expectPOST('localhost/precios-condiciones', { nombre: bodyFake })
  37 + .respond(responseFake);
  38 +
  39 + //act
  40 + servicio.obtenerPreciosCondiciones(bodyFake).then(function(data) {
  41 + result = data.data;
  42 + });
  43 + httpBackend.flush();
  44 +
  45 + //assert
  46 + expect(result).toEqual(responseFake);
  47 + });
  48 +
  49 + it('la función obtenerPrecioCondicion llama ruta correcta', function() {
  50 + //arrange
  51 + var responseFake = { data: 'test'};
  52 + var result;
  53 + var paramFake = 1;
  54 + httpBackend.expectGET('localhost/precio-condicion/' + paramFake)
  55 + .respond(responseFake);
  56 +
  57 + //act
  58 + servicio.obtenerPrecioCondicion(paramFake).then(function(data) {
  59 + result = data.data;
  60 + });
  61 + httpBackend.flush();
  62 +
  63 + //assert
  64 + expect(result).toEqual(responseFake);
  65 + });
  66 +
  67 + it('la función guardarPrecioCondicion llama ruta correcta', function() {
  68 + //arrange
  69 + var responseFake = { data: 'test'};
  70 + var result;
  71 + var bodyFake = 1;
  72 + httpBackend.expectPOST('localhost/precio-condicion', { precioCondicion: bodyFake })
  73 + .respond(responseFake);
  74 +
  75 + //act
  76 + servicio.guardarPrecioCondicion(bodyFake).then(function(data) {
  77 + result = data.data;
  78 + });
  79 + httpBackend.flush();
  80 +
  81 + //assert
  82 + expect(result).toEqual(responseFake);
  83 + });
  84 +
  85 + it('la función borrarPrecioCondicion llama ruta correcta', function() {
  86 + //arrange
  87 + var responseFake = { data: 'test'};
  88 + var result;
  89 + var paramFake = 1;
  90 + httpBackend.expectDELETE('localhost/precio-condicion/' + paramFake)
  91 + .respond(responseFake);
  92 +
  93 + //act
  94 + servicio.borrarPrecioCondicion(paramFake).then(function(data) {
  95 + result = data.data;
  96 + });
  97 + httpBackend.flush();
  98 +
  99 + //assert
  100 + expect(result).toEqual(responseFake);
  101 + });
  102 +
  103 + it('la función obtenerPlazoPago llama ruta correcta', function() {
  104 + //arrange
  105 + var responseFake = { data: 'test'};
  106 + var result;
  107 + var paramFake = 1;
  108 + httpBackend.expectGET('localhost/plazo-pago/precio-condicion/' + paramFake)
  109 + .respond(responseFake);
  110 +
  111 + //act
  112 + servicio.obtenerPlazoPago(paramFake).then(function(data) {
  113 + result = data.data;
  114 + });
  115 + httpBackend.flush();
  116 +
  117 + //assert
  118 + expect(result).toEqual(responseFake);
  119 + });
  120 +
  121 + it('la función borrarPlazoPago llama ruta correcta', function() {
  122 + //arrange
  123 + var responseFake = { data: 'test'};
  124 + var result;
  125 + var paramFake = 1;
  126 + httpBackend.expectDELETE('localhost/plazo-pago/' + paramFake)
  127 + .respond(responseFake);
  128 +
  129 + //act
  130 + servicio.borrarPlazoPago(paramFake).then(function(data) {
  131 + result = data.data;
  132 + });
  133 + httpBackend.flush();
  134 +
  135 + //assert
  136 + expect(result).toEqual(responseFake);
  137 + });
  138 +
  139 + it('la función guardarPlazosPago llama ruta correcta', function() {
  140 + //arrange
  141 + var responseFake = { data: 'test'};
  142 + var result;
  143 + var bodyFake = 1;
  144 + httpBackend.expectPOST('localhost/plazos-pago', { plazosPago: bodyFake})
  145 + .respond(responseFake);
  146 +
  147 + //act
  148 + servicio.guardarPlazosPago(bodyFake).then(function(data) {
  149 + result = data.data;
  150 + });
  151 + httpBackend.flush();
  152 +
  153 + //assert
  154 + expect(result).toEqual(responseFake);
  155 + });
  156 + });
  157 +});
1   -angular.module('focaAbmPreciosCondiciones', [
2   - 'ngRoute',
3   - 'ui.bootstrap',
4   - 'focaModal',
5   - 'focaBotoneraLateral'
6   -]);
  1 +angular.module('focaAbmPreciosCondiciones', ['ngRoute']);
... ... @@ -0,0 +1,21 @@
  1 +<html>
  2 + <head>
  3 + <link rel="stylesheet" type="text/css" href="node_modules/jasmine-core/lib/jasmine-core/jasmine.css">
  4 + <meta charset="UTF-8" />
  5 + </head>
  6 + <body>
  7 + <script type="text/javascript" src="node_modules/jasmine-core/lib/jasmine-core/jasmine.js"></script>
  8 + <script type="text/javascript" src="node_modules/jasmine-core/lib/jasmine-core/jasmine-html.js"></script>
  9 + <script type="text/javascript" src="node_modules/jasmine-core/lib/jasmine-core/boot.js"></script>
  10 + <script type="text/javascript" src="node_modules/angular/angular.min.js"></script>
  11 + <script type="text/javascript" src="node_modules/angular-route/angular-route.min.js"></script>
  12 + <script type="text/javascript" src="node_modules/angular-mocks/angular-mocks.js"></script>
  13 + <script type="text/javascript" src="src/js/app.js"></script>
  14 + <script type="text/javascript" src="src/js/controller.js"></script>
  15 + <script type="text/javascript" src="src/js/service.js"></script>
  16 + <script type="text/javascript" src="src/js/route.js"></script>
  17 + <script type="text/javascript" src="spec/controllerSpec.js"></script>
  18 + <script type="text/javascript" src="spec/serviceSpec.js"></script>
  19 + <script type="text/javascript" src="spec/routeSpec.js"></script>
  20 + </body>
  21 +</html>