Commit 5bdceaaa210de7186c5207378275988133cf2d2a
1 parent
09122424e9
Exists in
master
archivos unit test
Showing
5 changed files
with
863 additions
and
1 deletions
Show diff stats
spec/controllerSpec.js
File was created | 1 | describe('Controladores abm vendedor cobrador', function() { | |
2 | |||
3 | var $controller; | ||
4 | |||
5 | beforeEach(function() { | ||
6 | module('focaAbmVendedorCobrador'); | ||
7 | inject(function(_$controller_) { | ||
8 | $controller = _$controller_; | ||
9 | }); | ||
10 | }) | ||
11 | describe('controlador focaAbmVendedoresCobradoresController', function() { | ||
12 | |||
13 | var focaBotoneraLateralService = { | ||
14 | showSalir: function() { }, | ||
15 | showPausar: function() { }, | ||
16 | showCancelar: function() { }, | ||
17 | showGuardar: function() { } | ||
18 | }; | ||
19 | |||
20 | it('existe el controlador focaAbmVendedoresCobradoresController', function() { | ||
21 | //act | ||
22 | var controlador = $controller('focaAbmVendedoresCobradoresController', { | ||
23 | $scope: {}, | ||
24 | focaAbmVendedorCobradorService: {}, | ||
25 | $location: {}, | ||
26 | $filter: {}, | ||
27 | focaBotoneraLateralService: focaBotoneraLateralService, | ||
28 | focaModalService: {} | ||
29 | }); | ||
30 | |||
31 | //arrange | ||
32 | expect(typeof controlador).toEqual('object'); | ||
33 | }); | ||
34 | |||
35 | it('la función $scope.editar llama a la url correcta', function() { | ||
36 | inject(function($location) { | ||
37 | |||
38 | //arrange | ||
39 | var scope = {}; | ||
40 | $controller('focaAbmVendedoresCobradoresController', { | ||
41 | $scope: scope, | ||
42 | focaAbmVendedorCobradorService: {}, | ||
43 | $location: $location, | ||
44 | $filter: {}, | ||
45 | focaBotoneraLateralService: focaBotoneraLateralService, | ||
46 | focaModalService: {} | ||
47 | }); | ||
48 | var paramFake = 1; | ||
49 | |||
50 | //act | ||
51 | scope.editar(paramFake); | ||
52 | //arrange | ||
53 | expect($location.url()).toEqual('/vendedor-cobrador/' + paramFake); | ||
54 | }); | ||
55 | }); | ||
56 | |||
57 | it('la función $scope.eliminar llama a modal confirmar', function() { | ||
58 | inject(function($location) { | ||
59 | |||
60 | //arrange | ||
61 | var scope = {}; | ||
62 | var focaModalService = { | ||
63 | confirm: function() { } | ||
64 | } | ||
65 | $controller('focaAbmVendedoresCobradoresController', { | ||
66 | $scope: scope, | ||
67 | focaAbmVendedorCobradorService: {}, | ||
68 | $location: $location, | ||
69 | $filter: {}, | ||
70 | focaBotoneraLateralService: focaBotoneraLateralService, | ||
71 | focaModalService: focaModalService | ||
72 | }); | ||
73 | var paramFake = 1; | ||
74 | |||
75 | //act | ||
76 | spyOn(focaModalService, 'confirm').and.returnValue({ then: function() { } }); | ||
77 | scope.eliminar(paramFake); | ||
78 | |||
79 | //arrange | ||
80 | expect(focaModalService.confirm).toHaveBeenCalled(); | ||
81 | }); | ||
82 | }); | ||
83 | |||
84 | it('función $scope.eliminar llama eliminarVendedorCobrador al confirm ok', function(done) { | ||
85 | inject(function($location) { | ||
86 | |||
87 | //arrange | ||
88 | var scope = {}; | ||
89 | var focaModalService = { | ||
90 | confirm: function() { } | ||
91 | }; | ||
92 | var focaAbmVendedorCobradorService = { | ||
93 | eliminarVendedorCobrador: function() { } | ||
94 | }; | ||
95 | $controller('focaAbmVendedoresCobradoresController', { | ||
96 | $scope: scope, | ||
97 | focaAbmVendedorCobradorService: focaAbmVendedorCobradorService, | ||
98 | $location: $location, | ||
99 | $filter: {}, | ||
100 | focaBotoneraLateralService: focaBotoneraLateralService, | ||
101 | focaModalService: focaModalService | ||
102 | }); | ||
103 | var paramFake = 1; | ||
104 | var promesaConfirmar = Promise.resolve(true); | ||
105 | |||
106 | //act | ||
107 | spyOn(focaModalService, 'confirm').and.returnValue(promesaConfirmar); | ||
108 | spyOn(focaAbmVendedorCobradorService, 'eliminarVendedorCobrador') | ||
109 | .and.returnValue({ then: function() { } }); | ||
110 | scope.eliminar(paramFake); | ||
111 | |||
112 | //arrange | ||
113 | promesaConfirmar.then(function() { | ||
114 | expect(focaAbmVendedorCobradorService.eliminarVendedorCobrador).toHaveBeenCalled(); | ||
115 | done(); | ||
116 | }); | ||
117 | }); | ||
118 | }); | ||
119 | |||
120 | it('función $scope.resetPage llama a $scope.selectPage', function() { | ||
121 | |||
122 | //arrange | ||
123 | var scope = {}; | ||
124 | $controller('focaAbmVendedoresCobradoresController', { | ||
125 | $scope: scope, | ||
126 | focaAbmVendedorCobradorService: {}, | ||
127 | $location: {}, | ||
128 | $filter: {}, | ||
129 | focaBotoneraLateralService: focaBotoneraLateralService, | ||
130 | focaModalService: {} | ||
131 | }); | ||
132 | |||
133 | //act | ||
134 | spyOn(scope, 'selectPage'); | ||
135 | scope.resetPage(); | ||
136 | |||
137 | //arrange | ||
138 | expect(scope.selectPage).toHaveBeenCalled(); | ||
139 | }); | ||
140 | |||
141 | it('función $scope.search llama a getVendedoresCobradores', function() { | ||
142 | |||
143 | //arrange | ||
144 | var scope = {}; | ||
145 | var focaAbmVendedorCobradorService = { | ||
146 | getVendedoresCobradores: function() { } | ||
147 | }; | ||
148 | $controller('focaAbmVendedoresCobradoresController', { | ||
149 | $scope: scope, | ||
150 | focaAbmVendedorCobradorService: focaAbmVendedorCobradorService, | ||
151 | $location: {}, | ||
152 | $filter: {}, | ||
153 | focaBotoneraLateralService: focaBotoneraLateralService, | ||
154 | focaModalService: {} | ||
155 | }); | ||
156 | |||
157 | //act | ||
158 | spyOn(focaAbmVendedorCobradorService, 'getVendedoresCobradores') | ||
159 | .and.returnValue({ then: function() { } }); | ||
160 | scope.search(13); | ||
161 | |||
162 | //arrange | ||
163 | expect(focaAbmVendedorCobradorService.getVendedoresCobradores).toHaveBeenCalled(); | ||
164 | }); | ||
165 | |||
166 | it('función scope.search llama getVendedoresCobradores y llama resetPage', function(done) { | ||
167 | |||
168 | //arrange | ||
169 | var scope = {}; | ||
170 | var focaAbmVendedorCobradorService = { | ||
171 | getVendedoresCobradores: function() { } | ||
172 | }; | ||
173 | $controller('focaAbmVendedoresCobradoresController', { | ||
174 | $scope: scope, | ||
175 | focaAbmVendedorCobradorService: focaAbmVendedorCobradorService, | ||
176 | $location: {}, | ||
177 | $filter: {}, | ||
178 | focaBotoneraLateralService: focaBotoneraLateralService, | ||
179 | focaModalService: {} | ||
180 | }); | ||
181 | var promesaVendedores = Promise.resolve({ data: [] }); | ||
182 | |||
183 | //act | ||
184 | spyOn(focaAbmVendedorCobradorService, 'getVendedoresCobradores') | ||
185 | .and.returnValue(promesaVendedores); | ||
186 | spyOn(scope, 'resetPage'); | ||
187 | scope.vendedoresCobradores = []; | ||
188 | scope.search(13); | ||
189 | |||
190 | //arrange | ||
191 | promesaVendedores.then(function() { | ||
192 | expect(scope.resetPage).toHaveBeenCalled(); | ||
193 | done(); | ||
194 | }); | ||
195 | }); | ||
196 | }); | ||
197 | |||
198 | describe('Controlador focaAbmVendedorCobradorController', function() { | ||
199 | |||
200 | var timeout; | ||
201 | |||
202 | beforeEach(function() { | ||
203 | inject(function($timeout) { | ||
204 | timeout = $timeout; | ||
205 | }); | ||
206 | }); | ||
207 | |||
208 | it('existe el controlador focaAbmVendedorCobradorController', function() { | ||
209 | |||
210 | //act | ||
211 | var controlador = $controller('focaAbmVendedorCobradorController', { | ||
212 | $scope: {}, | ||
213 | focaAbmVendedorCobradorService: { | ||
214 | getCodigoSiguiente: function() { | ||
215 | return { | ||
216 | then: function() { } | ||
217 | }; | ||
218 | }, | ||
219 | getVendedorCobradorById: function() { | ||
220 | return { | ||
221 | then: function() { } | ||
222 | }; | ||
223 | } | ||
224 | }, | ||
225 | $routeParams: {}, | ||
226 | focaBotoneraLateralService: {}, | ||
227 | $timeout: timeout, | ||
228 | $uibModal: {}, | ||
229 | $location: {}, | ||
230 | focaModalService: {} | ||
231 | }); | ||
232 | |||
233 | //assert | ||
234 | expect(typeof controlador).toEqual('object'); | ||
235 | }); | ||
236 | |||
237 | it('la función $scope.guardar llama a guardaVendedorCobrador del servicio', function() { | ||
238 | //arrange | ||
239 | var scope= {}; | ||
240 | var focaAbmVendedorCobradorService = { | ||
241 | getCodigoSiguiente: function() { | ||
242 | return { | ||
243 | then: function() { } | ||
244 | }; | ||
245 | }, | ||
246 | getVendedorCobradorById: function() { | ||
247 | return { | ||
248 | then: function() { } | ||
249 | }; | ||
250 | }, | ||
251 | guardarVendedorCobrador: function() { } | ||
252 | }; | ||
253 | $controller('focaAbmVendedorCobradorController', { | ||
254 | $scope: scope, | ||
255 | focaAbmVendedorCobradorService: focaAbmVendedorCobradorService, | ||
256 | $routeParams: {}, | ||
257 | focaBotoneraLateralService: {}, | ||
258 | $timeout: timeout, | ||
259 | $uibModal: {}, | ||
260 | $location: {}, | ||
261 | focaModalService: {} | ||
262 | }); | ||
263 | var responseFake = { | ||
264 | then: function() { | ||
265 | return { | ||
266 | catch: function() { } | ||
267 | }; | ||
268 | } | ||
269 | }; | ||
270 | |||
271 | //act | ||
272 | spyOn(focaAbmVendedorCobradorService, 'guardarVendedorCobrador') | ||
273 | .and.returnValue(responseFake); | ||
274 | scope.guardar(); | ||
275 | |||
276 | //assert | ||
277 | expect(focaAbmVendedorCobradorService.guardarVendedorCobrador).toHaveBeenCalled(); | ||
278 | }); | ||
279 | |||
280 | it('la función $scope.guardar llama a guardaVendedorCobrador y edicion true' + | ||
281 | 'llama a $location.path', function(done) | ||
282 | { | ||
283 | inject(function($location) { | ||
284 | |||
285 | //arrange | ||
286 | var scope= {}; | ||
287 | var focaAbmVendedorCobradorService = { | ||
288 | getCodigoSiguiente: function() { | ||
289 | return { | ||
290 | then: function() { } | ||
291 | }; | ||
292 | }, | ||
293 | getVendedorCobradorById: function() { | ||
294 | return { | ||
295 | then: function() { } | ||
296 | }; | ||
297 | }, | ||
298 | guardarVendedorCobrador: function() { } | ||
299 | }; | ||
300 | $controller('focaAbmVendedorCobradorController', { | ||
301 | $scope: scope, | ||
302 | focaAbmVendedorCobradorService: focaAbmVendedorCobradorService, | ||
303 | $routeParams: {}, | ||
304 | focaBotoneraLateralService: {}, | ||
305 | $timeout: timeout, | ||
306 | $uibModal: {}, | ||
307 | $location: $location, | ||
308 | focaModalService: {} | ||
309 | }); | ||
310 | var promiseFake = Promise.resolve(true, false); | ||
311 | |||
312 | //act | ||
313 | spyOn(focaAbmVendedorCobradorService, 'guardarVendedorCobrador') | ||
314 | .and.returnValue(promiseFake); | ||
315 | scope.edicion = true; | ||
316 | scope.guardar(); | ||
317 | |||
318 | //assert | ||
319 | promiseFake.then(function() { | ||
320 | expect($location.url()).toEqual('/vendedor-cobrador'); | ||
321 | done(); | ||
322 | }); | ||
323 | }); | ||
324 | }); | ||
325 | |||
326 | it('la función $scope.guardar llama a guardaVendedorCobrador y scope.edicion false' + | ||
327 | 'llama a scope.cambiarContraseña', function(done) | ||
328 | { | ||
329 | //arrange | ||
330 | var scope= {}; | ||
331 | var focaAbmVendedorCobradorService = { | ||
332 | getCodigoSiguiente: function() { | ||
333 | return { | ||
334 | then: function() { } | ||
335 | }; | ||
336 | }, | ||
337 | getVendedorCobradorById: function() { | ||
338 | return { | ||
339 | then: function() { } | ||
340 | }; | ||
341 | }, | ||
342 | guardarVendedorCobrador: function() { } | ||
343 | }; | ||
344 | $controller('focaAbmVendedorCobradorController', { | ||
345 | $scope: scope, | ||
346 | focaAbmVendedorCobradorService: focaAbmVendedorCobradorService, | ||
347 | $routeParams: {}, | ||
348 | focaBotoneraLateralService: {}, | ||
349 | $timeout: timeout, | ||
350 | $uibModal: {}, | ||
351 | $location: {}, | ||
352 | focaModalService: {} | ||
353 | }); | ||
354 | var promiseFake = Promise.resolve(true, false); | ||
355 | |||
356 | //act | ||
357 | spyOn(focaAbmVendedorCobradorService, 'guardarVendedorCobrador') | ||
358 | .and.returnValue(promiseFake); | ||
359 | spyOn(scope, 'cambiarPassword'); | ||
360 | scope.edicion = false; | ||
361 | scope.guardar(); | ||
362 | |||
363 | //assert | ||
364 | promiseFake.then(function() { | ||
365 | expect(scope.cambiarPassword).toHaveBeenCalled(); | ||
366 | done(); | ||
367 | }); | ||
368 | }); | ||
369 | |||
370 | it('la función $scope.guardar llama a guardaVendedorCobrador y llama foca modal alert' + | ||
371 | 'cuando la promsa es rechazada y el error es 409', function(done) | ||
372 | { | ||
373 | //arrange | ||
374 | var scope= {}; | ||
375 | var focaAbmVendedorCobradorService = { | ||
376 | getCodigoSiguiente: function() { | ||
377 | return { | ||
378 | then: function() { } | ||
379 | }; | ||
380 | }, | ||
381 | getVendedorCobradorById: function() { | ||
382 | return { | ||
383 | then: function() { } | ||
384 | }; | ||
385 | }, | ||
386 | guardarVendedorCobrador: function() { } | ||
387 | }; | ||
388 | var focaModalService = { | ||
389 | alert: function() { } | ||
390 | }; | ||
391 | $controller('focaAbmVendedorCobradorController', { | ||
392 | $scope: scope, | ||
393 | focaAbmVendedorCobradorService: focaAbmVendedorCobradorService, | ||
394 | $routeParams: {}, | ||
395 | focaBotoneraLateralService: {}, | ||
396 | $timeout: timeout, | ||
397 | $uibModal: {}, | ||
398 | $location: {}, | ||
399 | focaModalService: focaModalService | ||
400 | }); | ||
401 | var promiseFake = Promise.reject({ status: 409 }); | ||
402 | |||
403 | //act | ||
404 | spyOn(focaAbmVendedorCobradorService, 'guardarVendedorCobrador') | ||
405 | .and.returnValue(promiseFake); | ||
406 | spyOn(focaModalService, 'alert'); | ||
407 | scope.guardar(); | ||
408 | |||
409 | //assert | ||
410 | promiseFake.catch(function() { | ||
411 | setTimeout(function() { | ||
412 | expect(focaModalService.alert).toHaveBeenCalled(); | ||
413 | done(); | ||
414 | }, 100) | ||
415 | }); | ||
416 | }); | ||
417 | |||
418 | it('la función $scope.seleccionarProvincia llama a foca Modal', function() { | ||
419 | //arrange | ||
420 | var scope= {}; | ||
421 | var focaAbmVendedorCobradorService = { | ||
422 | getCodigoSiguiente: function() { | ||
423 | return { | ||
424 | then: function() { } | ||
425 | }; | ||
426 | }, | ||
427 | getVendedorCobradorById: function() { | ||
428 | return { | ||
429 | then: function() { } | ||
430 | }; | ||
431 | }, | ||
432 | }; | ||
433 | var focaModalService = { | ||
434 | modal: function() { } | ||
435 | }; | ||
436 | $controller('focaAbmVendedorCobradorController', { | ||
437 | $scope: scope, | ||
438 | focaAbmVendedorCobradorService: focaAbmVendedorCobradorService, | ||
439 | $routeParams: {}, | ||
440 | focaBotoneraLateralService: {}, | ||
441 | $timeout: timeout, | ||
442 | $uibModal: {}, | ||
443 | $location: {}, | ||
444 | focaModalService: focaModalService | ||
445 | }); | ||
446 | |||
447 | //act | ||
448 | spyOn(focaModalService, 'modal').and.returnValue({ then: function() { } }); | ||
449 | scope.seleccionarProvincia(13); | ||
450 | |||
451 | //assert | ||
452 | expect(focaModalService.modal).toHaveBeenCalled(); | ||
453 | }); | ||
454 | |||
455 | it('función $scope.seleccionarLocalidad llama foca alert si no hay provincia', function() { | ||
456 | //arrange | ||
457 | var scope= {}; | ||
458 | var focaAbmVendedorCobradorService = { | ||
459 | getCodigoSiguiente: function() { | ||
460 | return { | ||
461 | then: function() { } | ||
462 | }; | ||
463 | }, | ||
464 | getVendedorCobradorById: function() { | ||
465 | return { | ||
466 | then: function() { } | ||
467 | }; | ||
468 | }, | ||
469 | }; | ||
470 | var focaModalService = { | ||
471 | alert: function() { } | ||
472 | }; | ||
473 | $controller('focaAbmVendedorCobradorController', { | ||
474 | $scope: scope, | ||
475 | focaAbmVendedorCobradorService: focaAbmVendedorCobradorService, | ||
476 | $routeParams: {}, | ||
477 | focaBotoneraLateralService: {}, | ||
478 | $timeout: timeout, | ||
479 | $uibModal: {}, | ||
480 | $location: {}, | ||
481 | focaModalService: focaModalService | ||
482 | }); | ||
483 | |||
484 | //act | ||
485 | spyOn(focaModalService, 'alert'); | ||
486 | scope.vendedorCobrador.provincia.ID = false; | ||
487 | scope.seleccionarLocalidad(); | ||
488 | |||
489 | //assert | ||
490 | expect(focaModalService.alert).toHaveBeenCalled(); | ||
491 | }); | ||
492 | |||
493 | it('función $scope.seleccionarLocalidad llama foca modal', function() { | ||
494 | //arrange | ||
495 | var scope= {}; | ||
496 | var focaAbmVendedorCobradorService = { | ||
497 | getCodigoSiguiente: function() { | ||
498 | return { | ||
499 | then: function() { } | ||
500 | }; | ||
501 | }, | ||
502 | getVendedorCobradorById: function() { | ||
503 | return { | ||
504 | then: function() { } | ||
505 | }; | ||
506 | }, | ||
507 | }; | ||
508 | var focaModalService = { | ||
509 | modal: function() { } | ||
510 | }; | ||
511 | $controller('focaAbmVendedorCobradorController', { | ||
512 | $scope: scope, | ||
513 | focaAbmVendedorCobradorService: focaAbmVendedorCobradorService, | ||
514 | $routeParams: {}, | ||
515 | focaBotoneraLateralService: {}, | ||
516 | $timeout: timeout, | ||
517 | $uibModal: {}, | ||
518 | $location: {}, | ||
519 | focaModalService: focaModalService | ||
520 | }); | ||
521 | |||
522 | //act | ||
523 | spyOn(focaModalService, 'modal').and.returnValue({ then: function() { } }); | ||
524 | scope.vendedorCobrador.provincia.ID = true; | ||
525 | scope.seleccionarLocalidad(13); | ||
526 | |||
527 | //assert | ||
528 | expect(focaModalService.modal).toHaveBeenCalled(); | ||
529 | }); | ||
530 | |||
531 | it('la función scope.cancelar lleva a location correcte', function() { | ||
532 | |||
533 | inject(function($location) { | ||
534 | //arrange | ||
535 | var scope = {} | ||
536 | $controller('focaAbmVendedorCobradorController', { | ||
537 | $scope: scope, | ||
538 | focaAbmVendedorCobradorService: { | ||
539 | getCodigoSiguiente: function() { | ||
540 | return { | ||
541 | then: function() { } | ||
542 | }; | ||
543 | }, | ||
544 | getVendedorCobradorById: function() { | ||
545 | return { | ||
546 | then: function() { } | ||
547 | }; | ||
548 | } | ||
549 | }, | ||
550 | $routeParams: {}, | ||
551 | focaBotoneraLateralService: {}, | ||
552 | $timeout: timeout, | ||
553 | $uibModal: {}, | ||
554 | $location: $location, | ||
555 | focaModalService: {} | ||
556 | }); | ||
557 | |||
558 | //act | ||
559 | scope.formVendedorCobrador = { | ||
560 | $pristine: true | ||
561 | }; | ||
562 | scope.cancelar() | ||
563 | |||
564 | //assert | ||
565 | expect($location.url()).toEqual('/vendedor-cobrador'); | ||
566 | }); | ||
567 | }); | ||
568 | |||
569 | it('la funcion scope.next suma uno a scope.focused', function() { | ||
570 | |||
571 | //arrange | ||
572 | var scope = {}; | ||
573 | $controller('focaAbmVendedorCobradorController', { | ||
574 | $scope: scope, | ||
575 | focaAbmVendedorCobradorService: { | ||
576 | getCodigoSiguiente: function() { | ||
577 | return { | ||
578 | then: function() { } | ||
579 | }; | ||
580 | }, | ||
581 | getVendedorCobradorById: function() { | ||
582 | return { | ||
583 | then: function() { } | ||
584 | }; | ||
585 | } | ||
586 | }, | ||
587 | $routeParams: {}, | ||
588 | focaBotoneraLateralService: {}, | ||
589 | $timeout: timeout, | ||
590 | $uibModal: {}, | ||
591 | $location: {}, | ||
592 | focaModalService: {} | ||
593 | }); | ||
594 | |||
595 | //act | ||
596 | var esperado = scope.focused + 1; | ||
597 | scope.next(13); | ||
598 | |||
599 | //assert | ||
600 | expect(scope.focused).toEqual(esperado); | ||
601 | }); | ||
602 | |||
603 | it('la funcion scope.cambiarPassword abre modal', function() { | ||
604 | |||
605 | //arrange | ||
606 | var scope = {}; | ||
607 | var uibModal = { | ||
608 | open: function() { } | ||
609 | } | ||
610 | $controller('focaAbmVendedorCobradorController', { | ||
611 | $scope: scope, | ||
612 | focaAbmVendedorCobradorService: { | ||
613 | getCodigoSiguiente: function() { | ||
614 | return { | ||
615 | then: function() { } | ||
616 | }; | ||
617 | }, | ||
618 | getVendedorCobradorById: function() { | ||
619 | return { | ||
620 | then: function() { } | ||
621 | }; | ||
622 | } | ||
623 | }, | ||
624 | $routeParams: {}, | ||
625 | focaBotoneraLateralService: {}, | ||
626 | $timeout: timeout, | ||
627 | $uibModal: uibModal, | ||
628 | $location: {}, | ||
629 | focaModalService: {} | ||
630 | }); | ||
631 | var responseFake = { | ||
632 | result: { | ||
633 | then: function() { } | ||
634 | } | ||
635 | }; | ||
636 | |||
637 | //act | ||
638 | spyOn(uibModal, 'open').and.returnValue(responseFake); | ||
639 | scope.cambiarPassword(); | ||
640 | |||
641 | //assert | ||
642 | expect(uibModal.open).toHaveBeenCalled(); | ||
643 | }); | ||
644 | |||
645 | it('la funcion scope.cambiarPassword abre modal y llama a location cuando edicion es ' + | ||
646 | 'falso', function(done) | ||
647 | { | ||
648 | inject(function($location) { | ||
649 | |||
650 | //arrange | ||
651 | var scope = {}; | ||
652 | var uibModal = { | ||
653 | open: function() { } | ||
654 | }; | ||
655 | $controller('focaAbmVendedorCobradorController', { | ||
656 | $scope: scope, | ||
657 | focaAbmVendedorCobradorService: { | ||
658 | getCodigoSiguiente: function() { | ||
659 | return { | ||
660 | then: function() { } | ||
661 | }; | ||
662 | }, | ||
663 | getVendedorCobradorById: function() { | ||
664 | return { | ||
665 | then: function() { } | ||
666 | }; | ||
667 | } | ||
668 | }, | ||
669 | $routeParams: {}, | ||
670 | focaBotoneraLateralService: {}, | ||
671 | $timeout: timeout, | ||
672 | $uibModal: uibModal, | ||
673 | $location: $location, | ||
674 | focaModalService: {} | ||
675 | }); | ||
676 | var responseFake = { | ||
677 | result: Promise.resolve(true) | ||
678 | }; | ||
679 | |||
680 | //act | ||
681 | spyOn(uibModal, 'open').and.returnValue(responseFake); | ||
682 | scope.edicion = false; | ||
683 | scope.cambiarPassword(); | ||
684 | |||
685 | //assert | ||
686 | responseFake.result.then(function() { | ||
687 | expect($location.url()).toEqual('/vendedor-cobrador'); | ||
688 | done(); | ||
689 | }); | ||
690 | }); | ||
691 | }); | ||
692 | }); | ||
693 | }); | ||
694 |
spec/routeSpec.js
File was created | 1 | describe('Rutas de abm vendedor cobrador', function() { | |
2 | |||
3 | var route; | ||
4 | |||
5 | beforeEach(function() { | ||
6 | module('focaAbmVendedorCobrador'); | ||
7 | inject(function($route) { | ||
8 | route = $route; | ||
9 | }); | ||
10 | }); | ||
11 | |||
12 | it('ruta /vendedor-cobrador lleva a ruta correcta', function() { | ||
13 | //assert | ||
14 | expect(route.routes['/vendedor-cobrador'].controller) | ||
15 | .toBe('focaAbmVendedoresCobradoresController') | ||
16 | expect(route.routes['/vendedor-cobrador'].templateUrl) | ||
17 | .toBe('src/views/foca-abm-vendedor-cobrador-listado.html') | ||
18 | }); | ||
19 | |||
20 | it('ruta /vendedor-cobrador/:id lleva a ruta correcta', function() { | ||
21 | //assert | ||
22 | expect(route.routes['/vendedor-cobrador/:id'].controller) | ||
23 | .toBe('focaAbmVendedorCobradorController') | ||
24 | expect(route.routes['/vendedor-cobrador/:id'].templateUrl) | ||
25 | .toBe('src/views/foca-abm-vendedor-cobrador-item.html') | ||
26 | }); | ||
27 | }); | ||
28 |
spec/serviceSpec.js
File was created | 1 | describe('Servicios abm vendedor cobrador', function() { | |
2 | |||
3 | var httpBackend; | ||
4 | |||
5 | beforeEach(function() { | ||
6 | module('focaAbmVendedorCobrador'); | ||
7 | |||
8 | inject(module(function($provide) { | ||
9 | $provide.value('API_ENDPOINT', { | ||
10 | URL: 'local' | ||
11 | }); | ||
12 | })); | ||
13 | |||
14 | inject(function($httpBackend) { | ||
15 | httpBackend = $httpBackend; | ||
16 | }); | ||
17 | }); | ||
18 | |||
19 | describe('Servicio focaAbmVendedorCobradorService', function() { | ||
20 | |||
21 | var servicio; | ||
22 | |||
23 | beforeEach(inject(function(focaAbmVendedorCobradorService) { | ||
24 | servicio = focaAbmVendedorCobradorService; | ||
25 | })); | ||
26 | |||
27 | it('Existe el servicio focaAbmVendedorCobradorService', function() { | ||
28 | //assert | ||
29 | expect(typeof servicio).toEqual('object'); | ||
30 | }); | ||
31 | |||
32 | it('la función getVendedoresCobradores llama a la ruta correcta', function() { | ||
33 | //arrange | ||
34 | var result; | ||
35 | var fakeResponse = { data: 'test' }; | ||
36 | var fakeBody = 2; | ||
37 | httpBackend.expectPOST('local/vendedor-cobrador/list', { nombre: fakeBody }) | ||
38 | .respond(fakeResponse); | ||
39 | |||
40 | //act | ||
41 | servicio.getVendedoresCobradores(fakeBody).then(function(data) { | ||
42 | result = data.data; | ||
43 | }); | ||
44 | httpBackend.flush(); | ||
45 | |||
46 | //assert | ||
47 | expect(result).toEqual(fakeResponse); | ||
48 | }); | ||
49 | |||
50 | it('la función getVendedorCobradorById llama a la ruta correcta', function() { | ||
51 | //arrange | ||
52 | var result; | ||
53 | var fakeResponse = { data: 'test' }; | ||
54 | var fakeParam = 1; | ||
55 | httpBackend.expectGET('local/vendedor-cobrador/' + fakeParam).respond(fakeResponse); | ||
56 | |||
57 | //act | ||
58 | servicio.getVendedorCobradorById(fakeParam).then(function(data) { | ||
59 | result = data.data; | ||
60 | }); | ||
61 | httpBackend.flush(); | ||
62 | |||
63 | //assert | ||
64 | expect(result).toEqual(fakeResponse); | ||
65 | }); | ||
66 | |||
67 | it('la función guardarVendedorCobrador llama a la ruta correcta', function() { | ||
68 | //arrange | ||
69 | var result; | ||
70 | var fakeResponse = { data: 'test' }; | ||
71 | var fakeBody = 1; | ||
72 | httpBackend.expectPOST('local/vendedor-cobrador', { vendedorCobrador: fakeBody }) | ||
73 | .respond(fakeResponse); | ||
74 | |||
75 | //act | ||
76 | servicio.guardarVendedorCobrador(fakeBody).then(function(data) { | ||
77 | result = data.data; | ||
78 | }); | ||
79 | httpBackend.flush(); | ||
80 | |||
81 | //assert | ||
82 | expect(result).toEqual(fakeResponse); | ||
83 | }); | ||
84 | |||
85 | it('la función eliminarVendedorCobrador llama a la ruta correcta', function() { | ||
86 | //arrange | ||
87 | var result; | ||
88 | var fakeResponse = { data: 'test' }; | ||
89 | var fakeParam = 1; | ||
90 | httpBackend.expectDELETE('local/vendedor-cobrador/' + fakeParam) | ||
91 | .respond(fakeResponse); | ||
92 | |||
93 | //act | ||
94 | servicio.eliminarVendedorCobrador(fakeParam).then(function(data) { | ||
95 | result = data.data; | ||
96 | }); | ||
97 | httpBackend.flush(); | ||
98 | |||
99 | //assert | ||
100 | expect(result).toEqual(fakeResponse); | ||
101 | }); | ||
102 | |||
103 | it('la función getCodigoSiguiente llama a la ruta correcta', function() { | ||
104 | //arrange | ||
105 | var result; | ||
106 | var fakeResponse = { data: 'test' }; | ||
107 | httpBackend.expectGET('local/vendedor-cobrador/obtener/siguiente-codigo') | ||
108 | .respond(fakeResponse); | ||
109 | |||
110 | //act | ||
111 | servicio.getCodigoSiguiente().then(function(data) { | ||
112 | result = data.data; | ||
113 | }); | ||
114 | httpBackend.flush(); | ||
115 | |||
116 | //assert | ||
117 | expect(result).toEqual(fakeResponse); | ||
118 | }); | ||
119 | }); | ||
120 | }); | ||
121 |
src/js/app.js
1 | angular.module('focaAbmVendedorCobrador', []); | 1 | angular.module('focaAbmVendedorCobrador', ['ngRoute']); |
2 | 2 |
test.html
File was created | 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/controllerItem.js"></script> | ||
16 | <script type="text/javascript" src="src/js/service.js"></script> | ||
17 | <script type="text/javascript" src="src/js/route.js"></script> | ||
18 | <script type="text/javascript" src="spec/controllerSpec.js"></script> | ||
19 | <script type="text/javascript" src="spec/serviceSpec.js"></script> | ||
20 | <script type="text/javascript" src="spec/routeSpec.js"></script> | ||
21 | </body> | ||
22 | </html> | ||
23 |