Commit a126cff657c8b2f6e0d688f7316c7392430fa00c
1 parent
17de1e938f
Exists in
master
unit test controlador
Showing
1 changed file
with
1111 additions
and
0 deletions
Show diff stats
spec/controllerSpec.js
... | ... | @@ -0,0 +1,1111 @@ |
1 | +describe('controladores módulo crear cobranza', function() { | |
2 | + | |
3 | + var $controller; | |
4 | + | |
5 | + beforeEach(function() { | |
6 | + | |
7 | + module('focaCrearCobranza'); | |
8 | + | |
9 | + inject(function(_$controller_) { | |
10 | + | |
11 | + $controller = _$controller_; | |
12 | + }); | |
13 | + }); | |
14 | + | |
15 | + describe('Controlador cobranzaController', function() { | |
16 | + | |
17 | + var $filter = function() { | |
18 | + return function() { }; | |
19 | + }; | |
20 | + | |
21 | + var $timeout = function() { }; | |
22 | + | |
23 | + it('existe el controlador cobranzaController', function() { | |
24 | + | |
25 | + //act | |
26 | + var controlador = $controller('cobranzaController', { | |
27 | + $scope: { | |
28 | + $broadcast: function() { } | |
29 | + }, | |
30 | + $timeout: $timeout, | |
31 | + $uibModal: {}, | |
32 | + $location: {}, | |
33 | + focaCrearCobranzaService: { | |
34 | + getCotizacionByIdMoneda: function() { | |
35 | + return { | |
36 | + then: function() { } | |
37 | + }; | |
38 | + }, | |
39 | + getBotonera: function() { }, | |
40 | + getNumeroRecibo: function() { | |
41 | + return { | |
42 | + then: function() { } | |
43 | + }; | |
44 | + } | |
45 | + }, | |
46 | + focaModalService: {}, | |
47 | + $filter: $filter, | |
48 | + focaSeguimientoService: {}, | |
49 | + focaBotoneraLateralService: {}, | |
50 | + APP: {}, | |
51 | + focaLoginService: {} | |
52 | + }); | |
53 | + | |
54 | + //assert | |
55 | + expect(typeof controlador).toEqual('object'); | |
56 | + }); | |
57 | + | |
58 | + it('function crearCobranza muestra alerta cuando no hay cliente', function() { | |
59 | + | |
60 | + //arrange | |
61 | + var scope = { | |
62 | + $broadcast: function() { } | |
63 | + }; | |
64 | + var focaModalService = { | |
65 | + alert: function() { } | |
66 | + }; | |
67 | + | |
68 | + $controller('cobranzaController', { | |
69 | + $scope: scope, | |
70 | + $timeout: $timeout, | |
71 | + $uibModal: {}, | |
72 | + $location: {}, | |
73 | + focaCrearCobranzaService: { | |
74 | + getCotizacionByIdMoneda: function() { | |
75 | + return { | |
76 | + then: function() { } | |
77 | + }; | |
78 | + }, | |
79 | + getBotonera: function() { }, | |
80 | + getNumeroRecibo: function() { | |
81 | + return { | |
82 | + then: function() { } | |
83 | + }; | |
84 | + } | |
85 | + }, | |
86 | + focaModalService: focaModalService, | |
87 | + $filter: $filter, | |
88 | + focaSeguimientoService: {}, | |
89 | + focaBotoneraLateralService: {}, | |
90 | + APP: {}, | |
91 | + focaLoginService: {} | |
92 | + }); | |
93 | + | |
94 | + //act | |
95 | + spyOn(focaModalService, 'alert'); | |
96 | + scope.crearCobranza(); | |
97 | + | |
98 | + //assert | |
99 | + expect(focaModalService.alert).toHaveBeenCalledWith('Ingrese Cliente'); | |
100 | + }); | |
101 | + | |
102 | + it('function crearCobranza muestra alerta cuando no hay cobrador', function() { | |
103 | + | |
104 | + //arrange | |
105 | + var scope = { | |
106 | + $broadcast: function() { } | |
107 | + }; | |
108 | + var focaModalService = { | |
109 | + alert: function() { } | |
110 | + }; | |
111 | + | |
112 | + $controller('cobranzaController', { | |
113 | + $scope: scope, | |
114 | + $timeout: $timeout, | |
115 | + $uibModal: {}, | |
116 | + $location: {}, | |
117 | + focaCrearCobranzaService: { | |
118 | + getCotizacionByIdMoneda: function() { | |
119 | + return { | |
120 | + then: function() { } | |
121 | + }; | |
122 | + }, | |
123 | + getBotonera: function() { }, | |
124 | + getNumeroRecibo: function() { | |
125 | + return { | |
126 | + then: function() { } | |
127 | + }; | |
128 | + } | |
129 | + }, | |
130 | + focaModalService: focaModalService, | |
131 | + $filter: $filter, | |
132 | + focaSeguimientoService: {}, | |
133 | + focaBotoneraLateralService: {}, | |
134 | + APP: {}, | |
135 | + focaLoginService: {} | |
136 | + }); | |
137 | + scope.cobranza = { | |
138 | + cliente: { } | |
139 | + }; | |
140 | + | |
141 | + //act | |
142 | + spyOn(focaModalService, 'alert'); | |
143 | + scope.crearCobranza(); | |
144 | + | |
145 | + //assert | |
146 | + expect(focaModalService.alert).toHaveBeenCalledWith('Ingrese Cobrador'); | |
147 | + }); | |
148 | + | |
149 | + it('function crearCobranza muestra alerta cuando no hay facturas', function() { | |
150 | + | |
151 | + //arrange | |
152 | + var scope = { | |
153 | + $broadcast: function() { } | |
154 | + }; | |
155 | + var focaModalService = { | |
156 | + alert: function() { } | |
157 | + }; | |
158 | + | |
159 | + $controller('cobranzaController', { | |
160 | + $scope: scope, | |
161 | + $timeout: $timeout, | |
162 | + $uibModal: {}, | |
163 | + $location: {}, | |
164 | + focaCrearCobranzaService: { | |
165 | + getCotizacionByIdMoneda: function() { | |
166 | + return { | |
167 | + then: function() { } | |
168 | + }; | |
169 | + }, | |
170 | + getBotonera: function() { }, | |
171 | + getNumeroRecibo: function() { | |
172 | + return { | |
173 | + then: function() { } | |
174 | + }; | |
175 | + } | |
176 | + }, | |
177 | + focaModalService: focaModalService, | |
178 | + $filter: $filter, | |
179 | + focaSeguimientoService: {}, | |
180 | + focaBotoneraLateralService: {}, | |
181 | + APP: {}, | |
182 | + focaLoginService: {} | |
183 | + }); | |
184 | + scope.cobranza = { | |
185 | + cliente: { }, | |
186 | + cobrador: { } | |
187 | + }; | |
188 | + | |
189 | + //act | |
190 | + spyOn(focaModalService, 'alert'); | |
191 | + scope.crearCobranza(); | |
192 | + | |
193 | + //assert | |
194 | + expect(focaModalService.alert).toHaveBeenCalledWith('Ingrese al menos una factura'); | |
195 | + }); | |
196 | + | |
197 | + it('crearCobranza muestra alerta cuando la diferencia no es 0', function() { | |
198 | + | |
199 | + //arrange | |
200 | + var scope = { | |
201 | + $broadcast: function() { } | |
202 | + }; | |
203 | + var focaModalService = { | |
204 | + alert: function() { } | |
205 | + }; | |
206 | + | |
207 | + $controller('cobranzaController', { | |
208 | + $scope: scope, | |
209 | + $timeout: $timeout, | |
210 | + $uibModal: {}, | |
211 | + $location: {}, | |
212 | + focaCrearCobranzaService: { | |
213 | + getCotizacionByIdMoneda: function() { | |
214 | + return { | |
215 | + then: function() { } | |
216 | + }; | |
217 | + }, | |
218 | + getBotonera: function() { }, | |
219 | + getNumeroRecibo: function() { | |
220 | + return { | |
221 | + then: function() { } | |
222 | + }; | |
223 | + } | |
224 | + }, | |
225 | + focaModalService: focaModalService, | |
226 | + $filter: $filter, | |
227 | + focaSeguimientoService: {}, | |
228 | + focaBotoneraLateralService: {}, | |
229 | + APP: {}, | |
230 | + focaLoginService: {} | |
231 | + }); | |
232 | + scope.cobranza = { | |
233 | + cliente: {}, | |
234 | + cobrador: {}, | |
235 | + moneda: { SIMBOLO: '' } | |
236 | + }; | |
237 | + scope.facturaTabla = [1]; | |
238 | + | |
239 | + //act | |
240 | + spyOn(focaModalService, 'alert'); | |
241 | + spyOn(scope, 'getTotalCobrado').and.returnValue(1); | |
242 | + spyOn(scope, 'getTotalDeuda').and.returnValue(1); | |
243 | + scope.crearCobranza(); | |
244 | + | |
245 | + //assert | |
246 | + expect(focaModalService.alert).toHaveBeenCalledWith('La diferencia debe ser 0,00'); | |
247 | + }); | |
248 | + | |
249 | + it('crearCobranza llama a startGuardar y guardarCobranza', function() { | |
250 | + | |
251 | + //arrange | |
252 | + var scope = { | |
253 | + $broadcast: function() { } | |
254 | + }; | |
255 | + var focaBotoneraLateralService = { | |
256 | + startGuardar: function() { } | |
257 | + }; | |
258 | + var focaCrearCobranzaService = { | |
259 | + guardarCobranza: function() { }, | |
260 | + getCotizacionByIdMoneda: function() { | |
261 | + return { | |
262 | + then: function() { } | |
263 | + }; | |
264 | + }, | |
265 | + getBotonera: function() { }, | |
266 | + getNumeroRecibo: function() { | |
267 | + return { | |
268 | + then: function() { } | |
269 | + }; | |
270 | + } | |
271 | + }; | |
272 | + | |
273 | + $controller('cobranzaController', { | |
274 | + $scope: scope, | |
275 | + $timeout: $timeout, | |
276 | + $uibModal: {}, | |
277 | + $location: {}, | |
278 | + focaCrearCobranzaService: focaCrearCobranzaService, | |
279 | + focaModalService: {}, | |
280 | + $filter: $filter, | |
281 | + focaSeguimientoService: {}, | |
282 | + focaBotoneraLateralService: focaBotoneraLateralService, | |
283 | + APP: {}, | |
284 | + focaLoginService: {} | |
285 | + }); | |
286 | + scope.cobranza = { | |
287 | + cliente: {}, | |
288 | + cobrador: {}, | |
289 | + moneda: { SIMBOLO: '' }, | |
290 | + cotizacion: {} | |
291 | + }; | |
292 | + scope.facturaTabla = [1]; | |
293 | + | |
294 | + //act | |
295 | + spyOn(focaBotoneraLateralService, 'startGuardar'); | |
296 | + spyOn(focaCrearCobranzaService, 'guardarCobranza') | |
297 | + .and.returnValue({ then: function() { } }); | |
298 | + spyOn(scope, 'getTotalCobrado').and.returnValue(0); | |
299 | + spyOn(scope, 'getTotalDeuda').and.returnValue(0); | |
300 | + scope.crearCobranza(); | |
301 | + | |
302 | + //assert | |
303 | + expect(focaBotoneraLateralService.startGuardar).toHaveBeenCalled(); | |
304 | + expect(focaCrearCobranzaService.guardarCobranza).toHaveBeenCalled(); | |
305 | + }); | |
306 | + | |
307 | + it('seleccionarCobros seatea cobroDeuda en false', function() { | |
308 | + | |
309 | + //arrange | |
310 | + var scope = { | |
311 | + $broadcast: function() { } | |
312 | + }; | |
313 | + | |
314 | + $controller('cobranzaController', { | |
315 | + $scope: scope, | |
316 | + $timeout: $timeout, | |
317 | + $uibModal: {}, | |
318 | + $location: {}, | |
319 | + focaCrearCobranzaService: { | |
320 | + getCotizacionByIdMoneda: function() { | |
321 | + return { | |
322 | + then: function() { } | |
323 | + }; | |
324 | + }, | |
325 | + getBotonera: function() { }, | |
326 | + getNumeroRecibo: function() { | |
327 | + return { | |
328 | + then: function() { } | |
329 | + }; | |
330 | + } | |
331 | + }, | |
332 | + focaModalService: {}, | |
333 | + $filter: $filter, | |
334 | + focaSeguimientoService: {}, | |
335 | + focaBotoneraLateralService: {}, | |
336 | + APP: {}, | |
337 | + focaLoginService: {} | |
338 | + }); | |
339 | + | |
340 | + //act | |
341 | + scope.seleccionarCobros(); | |
342 | + | |
343 | + //assert | |
344 | + expect(scope.cobroDeuda).toEqual(false); | |
345 | + }); | |
346 | + | |
347 | + it('seleccionarComprobantes seatea cobroDeuda en true', function() { | |
348 | + | |
349 | + //arrange | |
350 | + var scope = { | |
351 | + $broadcast: function() { } | |
352 | + }; | |
353 | + | |
354 | + $controller('cobranzaController', { | |
355 | + $scope: scope, | |
356 | + $timeout: $timeout, | |
357 | + $uibModal: {}, | |
358 | + $location: {}, | |
359 | + focaCrearCobranzaService: { | |
360 | + getCotizacionByIdMoneda: function() { | |
361 | + return { | |
362 | + then: function() { } | |
363 | + }; | |
364 | + }, | |
365 | + getBotonera: function() { }, | |
366 | + getNumeroRecibo: function() { | |
367 | + return { | |
368 | + then: function() { } | |
369 | + }; | |
370 | + } | |
371 | + }, | |
372 | + focaModalService: {}, | |
373 | + $filter: $filter, | |
374 | + focaSeguimientoService: {}, | |
375 | + focaBotoneraLateralService: {}, | |
376 | + APP: {}, | |
377 | + focaLoginService: {} | |
378 | + }); | |
379 | + | |
380 | + //act | |
381 | + scope.seleccionarComprobantes(); | |
382 | + | |
383 | + //assert | |
384 | + expect(scope.cobroDeuda).toEqual(true); | |
385 | + }); | |
386 | + | |
387 | + it('seleccionarCobranza levanta modal y setea datos', function(done) { | |
388 | + | |
389 | + //arrange | |
390 | + var scope = { | |
391 | + $broadcast: function() { } | |
392 | + }; | |
393 | + var uibModal = { | |
394 | + open: function() { } | |
395 | + }; | |
396 | + | |
397 | + $controller('cobranzaController', { | |
398 | + $scope: scope, | |
399 | + $timeout: $timeout, | |
400 | + $uibModal: uibModal, | |
401 | + $location: {}, | |
402 | + focaCrearCobranzaService: { | |
403 | + getCotizacionByIdMoneda: function() { | |
404 | + return { | |
405 | + then: function() { } | |
406 | + }; | |
407 | + }, | |
408 | + getBotonera: function() { }, | |
409 | + getNumeroRecibo: function() { | |
410 | + return { | |
411 | + then: function() { } | |
412 | + }; | |
413 | + } | |
414 | + }, | |
415 | + focaModalService: {}, | |
416 | + $filter: $filter, | |
417 | + focaSeguimientoService: {}, | |
418 | + focaBotoneraLateralService: {}, | |
419 | + APP: {}, | |
420 | + focaLoginService: {} | |
421 | + }); | |
422 | + var respuesta = { facturas: 1, cobros: 2, cliente: { } }; | |
423 | + var promesa = { result: Promise.resolve(respuesta) }; | |
424 | + | |
425 | + //act | |
426 | + spyOn(uibModal, 'open').and.returnValue(promesa); | |
427 | + spyOn(scope, '$broadcast'); | |
428 | + scope.seleccionarCobranza(); | |
429 | + | |
430 | + //assert | |
431 | + promesa.result.then(function() { | |
432 | + expect(uibModal.open).toHaveBeenCalled(); | |
433 | + expect(scope.$broadcast).toHaveBeenCalledWith('cleanCabecera'); | |
434 | + expect(scope.facturaTabla).toEqual(respuesta.facturas); | |
435 | + expect(scope.cobrosTabla).toEqual(respuesta.cobros); | |
436 | + done(); | |
437 | + }); | |
438 | + }); | |
439 | + | |
440 | + it('seleccionarCliente levanta modal y setea datos', function(done) { | |
441 | + | |
442 | + //arrange | |
443 | + var scope = { | |
444 | + $broadcast: function() { } | |
445 | + }; | |
446 | + var uibModal = { | |
447 | + open: function() { } | |
448 | + }; | |
449 | + | |
450 | + $controller('cobranzaController', { | |
451 | + $scope: scope, | |
452 | + $timeout: $timeout, | |
453 | + $uibModal: uibModal, | |
454 | + $location: {}, | |
455 | + focaCrearCobranzaService: { | |
456 | + getCotizacionByIdMoneda: function() { | |
457 | + return { | |
458 | + then: function() { } | |
459 | + }; | |
460 | + }, | |
461 | + getBotonera: function() { }, | |
462 | + getNumeroRecibo: function() { | |
463 | + return { | |
464 | + then: function() { } | |
465 | + }; | |
466 | + } | |
467 | + }, | |
468 | + focaModalService: {}, | |
469 | + $filter: $filter, | |
470 | + focaSeguimientoService: {}, | |
471 | + focaBotoneraLateralService: {}, | |
472 | + APP: {}, | |
473 | + focaLoginService: {} | |
474 | + }); | |
475 | + scope.cobranza = { | |
476 | + cobrador: {} | |
477 | + }; | |
478 | + var respuesta = { facturas: 1, cobros: 2, cliente: { } }; | |
479 | + var promesa = { result: Promise.resolve(respuesta) }; | |
480 | + | |
481 | + //act | |
482 | + spyOn(uibModal, 'open').and.returnValue(promesa); | |
483 | + spyOn(scope, '$broadcast'); | |
484 | + scope.seleccionarCliente(); | |
485 | + | |
486 | + //assert | |
487 | + promesa.result.then(function() { | |
488 | + expect(uibModal.open).toHaveBeenCalled(); | |
489 | + expect(scope.$broadcast).toHaveBeenCalled(); | |
490 | + done(); | |
491 | + }); | |
492 | + }); | |
493 | + | |
494 | + it('seleccionarFactura muestra alerta cuando no se seteo cliente', function() { | |
495 | + | |
496 | + //arrange | |
497 | + var scope = { | |
498 | + $broadcast: function() { } | |
499 | + }; | |
500 | + var focaModalService = { | |
501 | + alert: function() { } | |
502 | + }; | |
503 | + | |
504 | + $controller('cobranzaController', { | |
505 | + $scope: scope, | |
506 | + $timeout: $timeout, | |
507 | + $uibModal: {}, | |
508 | + $location: {}, | |
509 | + focaCrearCobranzaService: { | |
510 | + getCotizacionByIdMoneda: function() { | |
511 | + return { | |
512 | + then: function() { } | |
513 | + }; | |
514 | + }, | |
515 | + getBotonera: function() { }, | |
516 | + getNumeroRecibo: function() { | |
517 | + return { | |
518 | + then: function() { } | |
519 | + }; | |
520 | + } | |
521 | + }, | |
522 | + focaModalService: focaModalService, | |
523 | + $filter: $filter, | |
524 | + focaSeguimientoService: {}, | |
525 | + focaBotoneraLateralService: {}, | |
526 | + APP: {}, | |
527 | + focaLoginService: {} | |
528 | + }); | |
529 | + | |
530 | + //act | |
531 | + spyOn(focaModalService, 'alert'); | |
532 | + scope.seleccionarFactura(); | |
533 | + | |
534 | + //assert | |
535 | + expect(focaModalService.alert).toHaveBeenCalledWith('Seleccione primero un cliente'); | |
536 | + }); | |
537 | + | |
538 | + it('seleccionarFactura levanta modal', function() { | |
539 | + | |
540 | + //arrange | |
541 | + var scope = { | |
542 | + $broadcast: function() { } | |
543 | + }; | |
544 | + var uibModal = { | |
545 | + open: function() { } | |
546 | + }; | |
547 | + | |
548 | + $controller('cobranzaController', { | |
549 | + $scope: scope, | |
550 | + $timeout: $timeout, | |
551 | + $uibModal: uibModal, | |
552 | + $location: {}, | |
553 | + focaCrearCobranzaService: { | |
554 | + getCotizacionByIdMoneda: function() { | |
555 | + return { | |
556 | + then: function() { } | |
557 | + }; | |
558 | + }, | |
559 | + getBotonera: function() { }, | |
560 | + getNumeroRecibo: function() { | |
561 | + return { | |
562 | + then: function() { } | |
563 | + }; | |
564 | + } | |
565 | + }, | |
566 | + focaModalService: {}, | |
567 | + $filter: $filter, | |
568 | + focaSeguimientoService: {}, | |
569 | + focaBotoneraLateralService: {}, | |
570 | + APP: {}, | |
571 | + focaLoginService: {} | |
572 | + }); | |
573 | + scope.cobranza = { | |
574 | + cliente: { } | |
575 | + }; | |
576 | + | |
577 | + var respuesta = { result: { then: function() { } } }; | |
578 | + | |
579 | + //act | |
580 | + spyOn(uibModal, 'open').and.returnValue(respuesta); | |
581 | + scope.seleccionarFactura(); | |
582 | + | |
583 | + //assert | |
584 | + expect(uibModal.open).toHaveBeenCalled(); | |
585 | + }); | |
586 | + | |
587 | + it('seleccionarCheque levanta modal', function() { | |
588 | + | |
589 | + //arrange | |
590 | + var scope = { | |
591 | + $broadcast: function() { } | |
592 | + }; | |
593 | + var uibModal = { | |
594 | + open: function() { } | |
595 | + }; | |
596 | + | |
597 | + $controller('cobranzaController', { | |
598 | + $scope: scope, | |
599 | + $timeout: $timeout, | |
600 | + $uibModal: uibModal, | |
601 | + $location: {}, | |
602 | + focaCrearCobranzaService: { | |
603 | + getCotizacionByIdMoneda: function() { | |
604 | + return { | |
605 | + then: function() { } | |
606 | + }; | |
607 | + }, | |
608 | + getBotonera: function() { }, | |
609 | + getNumeroRecibo: function() { | |
610 | + return { | |
611 | + then: function() { } | |
612 | + }; | |
613 | + } | |
614 | + }, | |
615 | + focaModalService: {}, | |
616 | + $filter: $filter, | |
617 | + focaSeguimientoService: {}, | |
618 | + focaBotoneraLateralService: {}, | |
619 | + APP: {}, | |
620 | + focaLoginService: {} | |
621 | + }); | |
622 | + scope.cobranza = { | |
623 | + cliente: { } | |
624 | + }; | |
625 | + | |
626 | + var respuesta = { result: { then: function() { } } }; | |
627 | + | |
628 | + //act | |
629 | + spyOn(uibModal, 'open').and.returnValue(respuesta); | |
630 | + scope.seleccionarCheque(); | |
631 | + | |
632 | + //assert | |
633 | + expect(uibModal.open).toHaveBeenCalled(); | |
634 | + }); | |
635 | + | |
636 | + it('seleccionarEfectivo levanta modal', function() { | |
637 | + | |
638 | + //arrange | |
639 | + var scope = { | |
640 | + $broadcast: function() { } | |
641 | + }; | |
642 | + var uibModal = { | |
643 | + open: function() { } | |
644 | + }; | |
645 | + | |
646 | + $controller('cobranzaController', { | |
647 | + $scope: scope, | |
648 | + $timeout: $timeout, | |
649 | + $uibModal: uibModal, | |
650 | + $location: {}, | |
651 | + focaCrearCobranzaService: { | |
652 | + getCotizacionByIdMoneda: function() { | |
653 | + return { | |
654 | + then: function() { } | |
655 | + }; | |
656 | + }, | |
657 | + getBotonera: function() { }, | |
658 | + getNumeroRecibo: function() { | |
659 | + return { | |
660 | + then: function() { } | |
661 | + }; | |
662 | + } | |
663 | + }, | |
664 | + focaModalService: {}, | |
665 | + $filter: $filter, | |
666 | + focaSeguimientoService: {}, | |
667 | + focaBotoneraLateralService: {}, | |
668 | + APP: {}, | |
669 | + focaLoginService: {} | |
670 | + }); | |
671 | + scope.cobranza = { | |
672 | + cliente: { } | |
673 | + }; | |
674 | + | |
675 | + var respuesta = { result: { then: function() { } } }; | |
676 | + | |
677 | + //act | |
678 | + spyOn(uibModal, 'open').and.returnValue(respuesta); | |
679 | + scope.seleccionarEfectivo(); | |
680 | + | |
681 | + //assert | |
682 | + expect(uibModal.open).toHaveBeenCalled(); | |
683 | + }); | |
684 | + | |
685 | + it('seleccionarDetalles levanta modal', function() { | |
686 | + | |
687 | + //arrange | |
688 | + var scope = { | |
689 | + $broadcast: function() { } | |
690 | + }; | |
691 | + var uibModal = { | |
692 | + open: function() { } | |
693 | + }; | |
694 | + | |
695 | + $controller('cobranzaController', { | |
696 | + $scope: scope, | |
697 | + $timeout: $timeout, | |
698 | + $uibModal: uibModal, | |
699 | + $location: {}, | |
700 | + focaCrearCobranzaService: { | |
701 | + getCotizacionByIdMoneda: function() { | |
702 | + return { | |
703 | + then: function() { } | |
704 | + }; | |
705 | + }, | |
706 | + getBotonera: function() { }, | |
707 | + getNumeroRecibo: function() { | |
708 | + return { | |
709 | + then: function() { } | |
710 | + }; | |
711 | + } | |
712 | + }, | |
713 | + focaModalService: {}, | |
714 | + $filter: $filter, | |
715 | + focaSeguimientoService: {}, | |
716 | + focaBotoneraLateralService: {}, | |
717 | + APP: {}, | |
718 | + focaLoginService: {} | |
719 | + }); | |
720 | + scope.cobranza = { | |
721 | + cliente: { } | |
722 | + }; | |
723 | + | |
724 | + var respuesta = { result: { then: function() { } } }; | |
725 | + | |
726 | + //act | |
727 | + spyOn(uibModal, 'open').and.returnValue(respuesta); | |
728 | + scope.seleccionarDetalles(); | |
729 | + | |
730 | + //assert | |
731 | + expect(uibModal.open).toHaveBeenCalled(); | |
732 | + }); | |
733 | + | |
734 | + it('seleccionarMoneda levanta modal', function(done) { | |
735 | + | |
736 | + //arrange | |
737 | + var scope = { | |
738 | + $broadcast: function() { } | |
739 | + }; | |
740 | + var focaModalService = { | |
741 | + modal: function() { } | |
742 | + }; | |
743 | + | |
744 | + $controller('cobranzaController', { | |
745 | + $scope: scope, | |
746 | + $timeout: $timeout, | |
747 | + $uibModal: {}, | |
748 | + $location: {}, | |
749 | + focaCrearCobranzaService: { | |
750 | + getCotizacionByIdMoneda: function() { | |
751 | + return { | |
752 | + then: function() { } | |
753 | + }; | |
754 | + }, | |
755 | + getBotonera: function() { }, | |
756 | + getNumeroRecibo: function() { | |
757 | + return { | |
758 | + then: function() { } | |
759 | + }; | |
760 | + } | |
761 | + }, | |
762 | + focaModalService: focaModalService, | |
763 | + $filter: $filter, | |
764 | + focaSeguimientoService: {}, | |
765 | + focaBotoneraLateralService: {}, | |
766 | + APP: {}, | |
767 | + focaLoginService: {} | |
768 | + }); | |
769 | + | |
770 | + var respuesta = 1; | |
771 | + var promesa = Promise.resolve(respuesta); | |
772 | + | |
773 | + //act | |
774 | + spyOn(focaModalService, 'modal').and.returnValue(promesa); | |
775 | + spyOn(scope, 'seleccionarCotizacion'); | |
776 | + scope.seleccionarMoneda(); | |
777 | + | |
778 | + //assert | |
779 | + expect(focaModalService.modal).toHaveBeenCalled(); | |
780 | + promesa.then(function() { | |
781 | + expect(scope.seleccionarCotizacion).toHaveBeenCalled(); | |
782 | + done(); | |
783 | + }); | |
784 | + }); | |
785 | + | |
786 | + it('seleccionarCotizacion levanta modal', function(done) { | |
787 | + | |
788 | + //arrange | |
789 | + var scope = { | |
790 | + $broadcast: function() { } | |
791 | + }; | |
792 | + var uibModal = { | |
793 | + open: function() { } | |
794 | + }; | |
795 | + | |
796 | + $controller('cobranzaController', { | |
797 | + $scope: scope, | |
798 | + $timeout: $timeout, | |
799 | + $uibModal: uibModal, | |
800 | + $location: {}, | |
801 | + focaCrearCobranzaService: { | |
802 | + getCotizacionByIdMoneda: function() { | |
803 | + return { | |
804 | + then: function() { } | |
805 | + }; | |
806 | + }, | |
807 | + getBotonera: function() { }, | |
808 | + getNumeroRecibo: function() { | |
809 | + return { | |
810 | + then: function() { } | |
811 | + }; | |
812 | + } | |
813 | + }, | |
814 | + focaModalService: {}, | |
815 | + $filter: $filter, | |
816 | + focaSeguimientoService: {}, | |
817 | + focaBotoneraLateralService: {}, | |
818 | + APP: {}, | |
819 | + focaLoginService: {} | |
820 | + }); | |
821 | + | |
822 | + var respuesta = 1; | |
823 | + var promesa = { result: Promise.resolve(respuesta) }; | |
824 | + | |
825 | + //act | |
826 | + spyOn(uibModal, 'open').and.returnValue(promesa); | |
827 | + spyOn(scope, '$broadcast'); | |
828 | + scope.seleccionarCotizacion({ }); | |
829 | + | |
830 | + //assert | |
831 | + promesa.result.then(function() { | |
832 | + expect(uibModal.open).toHaveBeenCalled(); | |
833 | + expect(scope.$broadcast).toHaveBeenCalled(); | |
834 | + scope.cobranza.cotizacion = respuesta; | |
835 | + done(); | |
836 | + }); | |
837 | + }); | |
838 | + | |
839 | + it('seleccionarCobrador levanta modal', function(done) { | |
840 | + | |
841 | + //arrange | |
842 | + var scope = { | |
843 | + $broadcast: function() { } | |
844 | + }; | |
845 | + var focaModalService = { | |
846 | + modal: function() { } | |
847 | + }; | |
848 | + | |
849 | + $controller('cobranzaController', { | |
850 | + $scope: scope, | |
851 | + $timeout: $timeout, | |
852 | + $uibModal: {}, | |
853 | + $location: {}, | |
854 | + focaCrearCobranzaService: { | |
855 | + getCotizacionByIdMoneda: function() { | |
856 | + return { | |
857 | + then: function() { } | |
858 | + }; | |
859 | + }, | |
860 | + getBotonera: function() { }, | |
861 | + getNumeroRecibo: function() { | |
862 | + return { | |
863 | + then: function() { } | |
864 | + }; | |
865 | + } | |
866 | + }, | |
867 | + focaModalService: focaModalService, | |
868 | + $filter: $filter, | |
869 | + focaSeguimientoService: {}, | |
870 | + focaBotoneraLateralService: {}, | |
871 | + APP: {}, | |
872 | + focaLoginService: {} | |
873 | + }); | |
874 | + | |
875 | + var respuesta = 1; | |
876 | + var promesa = Promise.resolve(respuesta); | |
877 | + | |
878 | + //act | |
879 | + spyOn(focaModalService, 'modal').and.returnValue(promesa); | |
880 | + spyOn(scope, '$broadcast'); | |
881 | + scope.seleccionarCobrador({ }); | |
882 | + | |
883 | + //assert | |
884 | + promesa.then(function() { | |
885 | + expect(focaModalService.modal).toHaveBeenCalled(); | |
886 | + expect(scope.$broadcast).toHaveBeenCalled(); | |
887 | + scope.cobranza.cobrador = respuesta; | |
888 | + done(); | |
889 | + }); | |
890 | + }); | |
891 | + | |
892 | + it('getTotalDeuda devuelve correcto', function() { | |
893 | + | |
894 | + //arrange | |
895 | + var scope = { | |
896 | + $broadcast: function() { } | |
897 | + }; | |
898 | + | |
899 | + $controller('cobranzaController', { | |
900 | + $scope: scope, | |
901 | + $timeout: $timeout, | |
902 | + $uibModal: {}, | |
903 | + $location: {}, | |
904 | + focaCrearCobranzaService: { | |
905 | + getCotizacionByIdMoneda: function() { | |
906 | + return { | |
907 | + then: function() { } | |
908 | + }; | |
909 | + }, | |
910 | + getBotonera: function() { }, | |
911 | + getNumeroRecibo: function() { | |
912 | + return { | |
913 | + then: function() { } | |
914 | + }; | |
915 | + } | |
916 | + }, | |
917 | + focaModalService: {}, | |
918 | + $filter: $filter, | |
919 | + focaSeguimientoService: {}, | |
920 | + focaBotoneraLateralService: {}, | |
921 | + APP: {}, | |
922 | + focaLoginService: {} | |
923 | + }); | |
924 | + scope.facturaTabla = [{ IPA: 1 }]; | |
925 | + | |
926 | + //act | |
927 | + var esperado = 1; | |
928 | + var resultado = scope.getTotalDeuda(); | |
929 | + | |
930 | + //assert | |
931 | + expect(resultado).toEqual(esperado); | |
932 | + }); | |
933 | + | |
934 | + it('getTotalCobrado devuelve correcto', function() { | |
935 | + | |
936 | + //arrange | |
937 | + var scope = { | |
938 | + $broadcast: function() { } | |
939 | + }; | |
940 | + | |
941 | + $controller('cobranzaController', { | |
942 | + $scope: scope, | |
943 | + $timeout: $timeout, | |
944 | + $uibModal: {}, | |
945 | + $location: {}, | |
946 | + focaCrearCobranzaService: { | |
947 | + getCotizacionByIdMoneda: function() { | |
948 | + return { | |
949 | + then: function() { } | |
950 | + }; | |
951 | + }, | |
952 | + getBotonera: function() { }, | |
953 | + getNumeroRecibo: function() { | |
954 | + return { | |
955 | + then: function() { } | |
956 | + }; | |
957 | + } | |
958 | + }, | |
959 | + focaModalService: {}, | |
960 | + $filter: $filter, | |
961 | + focaSeguimientoService: {}, | |
962 | + focaBotoneraLateralService: {}, | |
963 | + APP: {}, | |
964 | + focaLoginService: {} | |
965 | + }); | |
966 | + scope.cobrosTabla = [{ importe: 1 }]; | |
967 | + | |
968 | + //act | |
969 | + var esperado = 1; | |
970 | + var resultado = scope.getTotalCobrado(); | |
971 | + | |
972 | + //assert | |
973 | + expect(resultado).toEqual(esperado); | |
974 | + }); | |
975 | + | |
976 | + it('getSubTotal devuelve correcto', function() { | |
977 | + | |
978 | + //arrange | |
979 | + var scope = { | |
980 | + $broadcast: function() { } | |
981 | + }; | |
982 | + | |
983 | + $controller('cobranzaController', { | |
984 | + $scope: scope, | |
985 | + $timeout: $timeout, | |
986 | + $uibModal: {}, | |
987 | + $location: {}, | |
988 | + focaCrearCobranzaService: { | |
989 | + getCotizacionByIdMoneda: function() { | |
990 | + return { | |
991 | + then: function() { } | |
992 | + }; | |
993 | + }, | |
994 | + getBotonera: function() { }, | |
995 | + getNumeroRecibo: function() { | |
996 | + return { | |
997 | + then: function() { } | |
998 | + }; | |
999 | + } | |
1000 | + }, | |
1001 | + focaModalService: {}, | |
1002 | + $filter: $filter, | |
1003 | + focaSeguimientoService: {}, | |
1004 | + focaBotoneraLateralService: {}, | |
1005 | + APP: {}, | |
1006 | + focaLoginService: {} | |
1007 | + }); | |
1008 | + scope.articuloACargar = { | |
1009 | + precio: 2, | |
1010 | + cantidad: 5 | |
1011 | + }; | |
1012 | + | |
1013 | + //act | |
1014 | + var esperado = 10; | |
1015 | + var resultado = scope.getSubTotal(); | |
1016 | + | |
1017 | + //assert | |
1018 | + expect(resultado).toEqual(esperado); | |
1019 | + }); | |
1020 | + | |
1021 | + it('salir lleva a la ruta correcta', function() { | |
1022 | + | |
1023 | + inject(function($location) { | |
1024 | + | |
1025 | + //arrange | |
1026 | + var scope = { | |
1027 | + $broadcast: function() { } | |
1028 | + }; | |
1029 | + | |
1030 | + $controller('cobranzaController', { | |
1031 | + $scope: scope, | |
1032 | + $timeout: $timeout, | |
1033 | + $uibModal: {}, | |
1034 | + $location: $location, | |
1035 | + focaCrearCobranzaService: { | |
1036 | + getCotizacionByIdMoneda: function() { | |
1037 | + return { | |
1038 | + then: function() { } | |
1039 | + }; | |
1040 | + }, | |
1041 | + getBotonera: function() { }, | |
1042 | + getNumeroRecibo: function() { | |
1043 | + return { | |
1044 | + then: function() { } | |
1045 | + }; | |
1046 | + } | |
1047 | + }, | |
1048 | + focaModalService: {}, | |
1049 | + $filter: $filter, | |
1050 | + focaSeguimientoService: {}, | |
1051 | + focaBotoneraLateralService: {}, | |
1052 | + APP: {}, | |
1053 | + focaLoginService: {} | |
1054 | + }); | |
1055 | + | |
1056 | + //act | |
1057 | + scope.salir(); | |
1058 | + | |
1059 | + //assert | |
1060 | + expect($location.url()).toEqual('/'); | |
1061 | + }); | |
1062 | + }); | |
1063 | + | |
1064 | + it('parsearATexto parsea correctamente', function() { | |
1065 | + | |
1066 | + //arrange | |
1067 | + var scope = { | |
1068 | + $broadcast: function() { } | |
1069 | + }; | |
1070 | + | |
1071 | + $controller('cobranzaController', { | |
1072 | + $scope: scope, | |
1073 | + $timeout: $timeout, | |
1074 | + $uibModal: {}, | |
1075 | + $location: {}, | |
1076 | + focaCrearCobranzaService: { | |
1077 | + getCotizacionByIdMoneda: function() { | |
1078 | + return { | |
1079 | + then: function() { } | |
1080 | + }; | |
1081 | + }, | |
1082 | + getBotonera: function() { }, | |
1083 | + getNumeroRecibo: function() { | |
1084 | + return { | |
1085 | + then: function() { } | |
1086 | + }; | |
1087 | + } | |
1088 | + }, | |
1089 | + focaModalService: {}, | |
1090 | + $filter: $filter, | |
1091 | + focaSeguimientoService: {}, | |
1092 | + focaBotoneraLateralService: {}, | |
1093 | + APP: {}, | |
1094 | + focaLoginService: {} | |
1095 | + }); | |
1096 | + | |
1097 | + var parametro = { | |
1098 | + cantidad: '1', | |
1099 | + precio: '2' | |
1100 | + }; | |
1101 | + | |
1102 | + //act | |
1103 | + scope.parsearATexto(parametro); | |
1104 | + | |
1105 | + //assert | |
1106 | + expect(typeof parametro.cantidad).toEqual('number'); | |
1107 | + expect(typeof parametro.precio).toEqual('number'); | |
1108 | + }); | |
1109 | + | |
1110 | + }); | |
1111 | +}); |