Commit d01a61a08ee192fc176547b790e0913cdb632aa1

Authored by Jose Pinto
Exists in master and in 2 other branches develop, lab

Merge branch 'master' into 'develop'

Master

See merge request !25
spec/controllerSpec.js
1 describe('Controladores abm vendedor cobrador', function() { 1 describe('Controladores abm vendedor cobrador', function() {
2 2
3 var $controller; 3 var $controller;
4 4
5 beforeEach(function() { 5 beforeEach(function() {
6 module('focaAbmVendedorCobrador'); 6 module('focaAbmVendedorCobrador');
7 inject(function(_$controller_) { 7 inject(function(_$controller_) {
8 $controller = _$controller_; 8 $controller = _$controller_;
9 }); 9 });
10 }); 10 });
11 describe('controlador focaAbmVendedoresCobradoresController', function() { 11 describe('controlador focaAbmVendedoresCobradoresController', function() {
12 12
13 var focaBotoneraLateralService = { 13 var focaBotoneraLateralService = {
14 showSalir: function() { }, 14 showSalir: function() { },
15 showPausar: function() { }, 15 showPausar: function() { },
16 showCancelar: function() { }, 16 showCancelar: function() { },
17 showGuardar: function() { } 17 showGuardar: function() { }
18 }; 18 };
19 19
20 it('existe el controlador focaAbmVendedoresCobradoresController', function() { 20 it('existe el controlador focaAbmVendedoresCobradoresController', function() {
21 //act 21 //act
22 var controlador = $controller('focaAbmVendedoresCobradoresController', { 22 var controlador = $controller('focaAbmVendedoresCobradoresController', {
23 $scope: {}, 23 $scope: {},
24 focaAbmVendedorCobradorService: {}, 24 focaAbmVendedorCobradorService: {},
25 $location: {}, 25 $location: {},
26 $localStorage: {},
26 $filter: {}, 27 $filter: {},
27 focaBotoneraLateralService: focaBotoneraLateralService, 28 focaBotoneraLateralService: focaBotoneraLateralService,
28 focaModalService: {} 29 focaModalService: {}
29 }); 30 });
30 31
31 //arrange 32 //arrange
32 expect(typeof controlador).toEqual('object'); 33 expect(typeof controlador).toEqual('object');
33 }); 34 });
34 35
35 it('la función $scope.editar llama a la url correcta', function() { 36 it('la función $scope.editar llama a la url correcta', function() {
36 inject(function($location) { 37 inject(function($location) {
37 38
38 //arrange 39 //arrange
39 var scope = {}; 40 var scope = {};
40 $controller('focaAbmVendedoresCobradoresController', { 41 $controller('focaAbmVendedoresCobradoresController', {
41 $scope: scope, 42 $scope: scope,
42 focaAbmVendedorCobradorService: {}, 43 focaAbmVendedorCobradorService: {},
43 $location: $location, 44 $location: $location,
45 $localStorage: {},
44 $filter: {}, 46 $filter: {},
45 focaBotoneraLateralService: focaBotoneraLateralService, 47 focaBotoneraLateralService: focaBotoneraLateralService,
46 focaModalService: {} 48 focaModalService: {}
47 }); 49 });
48 var paramFake = 1; 50 var paramFake = 1;
49 51
50 //act 52 //act
51 scope.editar(paramFake); 53 scope.editar(paramFake);
52 //arrange 54 //arrange
53 expect($location.url()).toEqual('/vendedor-cobrador/' + paramFake); 55 expect($location.url()).toEqual('/vendedor-cobrador/' + paramFake);
54 }); 56 });
55 }); 57 });
56 58
57 it('la función $scope.eliminar llama a modal confirmar', function() { 59 it('la función $scope.eliminar llama a modal confirmar', function() {
58 inject(function($location) { 60 inject(function($location) {
59 61
60 //arrange 62 //arrange
61 var scope = {}; 63 var scope = {};
62 var focaModalService = { 64 var focaModalService = {
63 confirm: function() { } 65 confirm: function() { }
64 }; 66 };
65 $controller('focaAbmVendedoresCobradoresController', { 67 $controller('focaAbmVendedoresCobradoresController', {
66 $scope: scope, 68 $scope: scope,
67 focaAbmVendedorCobradorService: {}, 69 focaAbmVendedorCobradorService: {},
68 $location: $location, 70 $location: $location,
71 $localStorage: {},
69 $filter: {}, 72 $filter: {},
70 focaBotoneraLateralService: focaBotoneraLateralService, 73 focaBotoneraLateralService: focaBotoneraLateralService,
71 focaModalService: focaModalService 74 focaModalService: focaModalService
72 }); 75 });
73 var paramFake = 1; 76 var paramFake = 1;
74 77
75 //act 78 //act
76 spyOn(focaModalService, 'confirm').and.returnValue({ then: function() { } }); 79 spyOn(focaModalService, 'confirm').and.returnValue({ then: function() { } });
77 scope.eliminar(paramFake); 80 scope.eliminar(paramFake);
78 81
79 //arrange 82 //arrange
80 expect(focaModalService.confirm).toHaveBeenCalled(); 83 expect(focaModalService.confirm).toHaveBeenCalled();
81 }); 84 });
82 }); 85 });
83 86
84 it('función $scope.eliminar llama eliminarVendedorCobrador al confirm ok', function(done) { 87 it('función $scope.eliminar llama eliminarVendedorCobrador al confirm ok', function(done) {
85 inject(function($location) { 88 inject(function($location) {
86 89
87 //arrange 90 //arrange
88 var scope = {}; 91 var scope = {};
89 var focaModalService = { 92 var focaModalService = {
90 confirm: function() { } 93 confirm: function() { }
91 }; 94 };
92 var focaAbmVendedorCobradorService = { 95 var focaAbmVendedorCobradorService = {
93 eliminarVendedorCobrador: function() { } 96 eliminarVendedorCobrador: function() { }
94 }; 97 };
95 $controller('focaAbmVendedoresCobradoresController', { 98 $controller('focaAbmVendedoresCobradoresController', {
96 $scope: scope, 99 $scope: scope,
97 focaAbmVendedorCobradorService: focaAbmVendedorCobradorService, 100 focaAbmVendedorCobradorService: focaAbmVendedorCobradorService,
98 $location: $location, 101 $location: $location,
102 $localStorage: {},
99 $filter: {}, 103 $filter: {},
100 focaBotoneraLateralService: focaBotoneraLateralService, 104 focaBotoneraLateralService: focaBotoneraLateralService,
101 focaModalService: focaModalService 105 focaModalService: focaModalService
102 }); 106 });
103 var paramFake = 1; 107 var paramFake = 1;
104 var promesaConfirmar = Promise.resolve(true); 108 var promesaConfirmar = Promise.resolve(true);
105 109
106 //act 110 //act
107 spyOn(focaModalService, 'confirm').and.returnValue(promesaConfirmar); 111 spyOn(focaModalService, 'confirm').and.returnValue(promesaConfirmar);
108 spyOn(focaAbmVendedorCobradorService, 'eliminarVendedorCobrador') 112 spyOn(focaAbmVendedorCobradorService, 'eliminarVendedorCobrador')
109 .and.returnValue({ then: function() { } }); 113 .and.returnValue({ then: function() { } });
110 scope.eliminar(paramFake); 114 scope.eliminar(paramFake);
111 115
112 //arrange 116 //arrange
113 promesaConfirmar.then(function() { 117 promesaConfirmar.then(function() {
114 expect(focaAbmVendedorCobradorService.eliminarVendedorCobrador) 118 expect(focaAbmVendedorCobradorService.eliminarVendedorCobrador)
115 .toHaveBeenCalled(); 119 .toHaveBeenCalled();
116 done(); 120 done();
117 }); 121 });
118 }); 122 });
119 }); 123 });
120 124
121 it('función $scope.resetPage llama a $scope.selectPage', function() { 125 it('función $scope.resetPage llama a $scope.selectPage', function() {
122 126
123 //arrange 127 //arrange
124 var scope = {}; 128 var scope = {};
125 $controller('focaAbmVendedoresCobradoresController', { 129 $controller('focaAbmVendedoresCobradoresController', {
126 $scope: scope, 130 $scope: scope,
127 focaAbmVendedorCobradorService: {}, 131 focaAbmVendedorCobradorService: {},
128 $location: {}, 132 $location: {},
133 $localStorage: {},
129 $filter: {}, 134 $filter: {},
130 focaBotoneraLateralService: focaBotoneraLateralService, 135 focaBotoneraLateralService: focaBotoneraLateralService,
131 focaModalService: {} 136 focaModalService: {}
132 }); 137 });
133 138
134 //act 139 //act
135 spyOn(scope, 'selectPage'); 140 spyOn(scope, 'selectPage');
136 scope.resetPage(); 141 scope.resetPage();
137 142
138 //arrange 143 //arrange
139 expect(scope.selectPage).toHaveBeenCalled(); 144 expect(scope.selectPage).toHaveBeenCalled();
140 }); 145 });
141 146
142 it('función $scope.search llama a getVendedoresCobradores', function() { 147 it('función $scope.search llama a getVendedoresCobradores', function() {
143 148
144 //arrange 149 //arrange
145 var scope = {}; 150 var scope = {};
146 var focaAbmVendedorCobradorService = { 151 var focaAbmVendedorCobradorService = {
147 getVendedoresCobradores: function() { } 152 getVendedoresCobradores: function() { }
148 }; 153 };
149 $controller('focaAbmVendedoresCobradoresController', { 154 $controller('focaAbmVendedoresCobradoresController', {
150 $scope: scope, 155 $scope: scope,
151 focaAbmVendedorCobradorService: focaAbmVendedorCobradorService, 156 focaAbmVendedorCobradorService: focaAbmVendedorCobradorService,
152 $location: {}, 157 $location: {},
158 $localStorage: {},
153 $filter: {}, 159 $filter: {},
154 focaBotoneraLateralService: focaBotoneraLateralService, 160 focaBotoneraLateralService: focaBotoneraLateralService,
155 focaModalService: {} 161 focaModalService: {}
156 }); 162 });
157 163
158 //act 164 //act
159 spyOn(focaAbmVendedorCobradorService, 'getVendedoresCobradores') 165 spyOn(focaAbmVendedorCobradorService, 'getVendedoresCobradores')
160 .and.returnValue({ then: function() { } }); 166 .and.returnValue({ then: function() { } });
161 scope.search(13); 167 scope.search(13);
162 168
163 //arrange 169 //arrange
164 expect(focaAbmVendedorCobradorService.getVendedoresCobradores).toHaveBeenCalled(); 170 expect(focaAbmVendedorCobradorService.getVendedoresCobradores).toHaveBeenCalled();
165 }); 171 });
166 172
167 it('función scope.search llama getVendedoresCobradores y llama resetPage', function(done) { 173 it('función scope.search llama getVendedoresCobradores y llama resetPage', function(done) {
168 174
169 //arrange 175 //arrange
170 var scope = {}; 176 var scope = {};
171 var focaAbmVendedorCobradorService = { 177 var focaAbmVendedorCobradorService = {
172 getVendedoresCobradores: function() { } 178 getVendedoresCobradores: function() { }
173 }; 179 };
174 $controller('focaAbmVendedoresCobradoresController', { 180 $controller('focaAbmVendedoresCobradoresController', {
175 $scope: scope, 181 $scope: scope,
176 focaAbmVendedorCobradorService: focaAbmVendedorCobradorService, 182 focaAbmVendedorCobradorService: focaAbmVendedorCobradorService,
177 $location: {}, 183 $location: {},
184 $localStorage: {},
178 $filter: {}, 185 $filter: {},
179 focaBotoneraLateralService: focaBotoneraLateralService, 186 focaBotoneraLateralService: focaBotoneraLateralService,
180 focaModalService: {} 187 focaModalService: {}
181 }); 188 });
182 var promesaVendedores = Promise.resolve({ data: [] }); 189 var promesaVendedores = Promise.resolve({ data: [] });
183 190
184 //act 191 //act
185 spyOn(focaAbmVendedorCobradorService, 'getVendedoresCobradores') 192 spyOn(focaAbmVendedorCobradorService, 'getVendedoresCobradores')
186 .and.returnValue(promesaVendedores); 193 .and.returnValue(promesaVendedores);
187 spyOn(scope, 'resetPage'); 194 spyOn(scope, 'resetPage');
188 scope.vendedoresCobradores = []; 195 scope.vendedoresCobradores = [];
189 scope.search(13); 196 scope.search(13);
190 197
191 //arrange 198 //arrange
192 promesaVendedores.then(function() { 199 promesaVendedores.then(function() {
193 expect(scope.resetPage).toHaveBeenCalled(); 200 expect(scope.resetPage).toHaveBeenCalled();
194 done(); 201 done();
195 }); 202 });
196 }); 203 });
197 }); 204 });
198 205
199 describe('Controlador focaAbmVendedorCobradorController', function() { 206 describe('Controlador focaAbmVendedorCobradorController', function() {
200 207
201 var timeout; 208 var timeout;
202 209
203 beforeEach(function() { 210 beforeEach(function() {
204 inject(function($timeout) { 211 inject(function($timeout) {
205 timeout = $timeout; 212 timeout = $timeout;
206 }); 213 });
207 }); 214 });
208 215
209 it('existe el controlador focaAbmVendedorCobradorController', function() { 216 it('existe el controlador focaAbmVendedorCobradorController', function() {
210 217
211 //act 218 //act
212 var controlador = $controller('focaAbmVendedorCobradorController', { 219 var controlador = $controller('focaAbmVendedorCobradorController', {
213 $scope: {}, 220 $scope: {
221 $watch: function() {}
222 },
214 focaAbmVendedorCobradorService: { 223 focaAbmVendedorCobradorService: {
215 getCodigoSiguiente: function() { 224 getCodigoSiguiente: function() {
216 return { 225 return {
217 then: function() { } 226 then: function() { }
218 }; 227 };
219 }, 228 },
220 getVendedorCobradorById: function() { 229 getVendedorCobradorById: function() {
221 return { 230 return {
222 then: function() { } 231 then: function() { }
223 }; 232 };
224 } 233 }
225 }, 234 },
226 $routeParams: {}, 235 $routeParams: {},
227 focaBotoneraLateralService: {}, 236 focaBotoneraLateralService: {},
228 $timeout: timeout, 237 $timeout: timeout,
229 $uibModal: {}, 238 $uibModal: {},
230 $location: {}, 239 $location: {},
231 focaModalService: {} 240 $localStorage: {},
241 focaModalService: {
242 }
232 }); 243 });
233 244
234 //assert 245 //assert
235 expect(typeof controlador).toEqual('object'); 246 expect(typeof controlador).toEqual('object');
236 }); 247 });
237 248
238 it('la función $scope.guardar llama a guardaVendedorCobrador del servicio', function() { 249 it('la función $scope.guardar llama a guardaVendedorCobrador del servicio', function() {
239 //arrange 250 //arrange
240 var scope= {}; 251 var scope = {
252 $watch: function() {},
253 };
241 var focaAbmVendedorCobradorService = { 254 var focaAbmVendedorCobradorService = {
242 getCodigoSiguiente: function() { 255 getCodigoSiguiente: function() {
243 return { 256 return {
244 then: function() { } 257 then: function() { }
245 }; 258 };
246 }, 259 },
247 getVendedorCobradorById: function() { 260 getVendedorCobradorById: function() {
248 return { 261 return {
249 then: function() { } 262 then: function() { }
250 }; 263 };
251 }, 264 },
252 guardarVendedorCobrador: function() { } 265 guardarVendedorCobrador: function() { }
253 }; 266 };
254 $controller('focaAbmVendedorCobradorController', { 267 $controller('focaAbmVendedorCobradorController', {
255 $scope: scope, 268 $scope: scope,
256 focaAbmVendedorCobradorService: focaAbmVendedorCobradorService, 269 focaAbmVendedorCobradorService: focaAbmVendedorCobradorService,
257 $routeParams: {}, 270 $routeParams: {},
258 focaBotoneraLateralService: {}, 271 focaBotoneraLateralService: {},
259 $timeout: timeout, 272 $timeout: timeout,
260 $uibModal: {}, 273 $uibModal: {},
261 $location: {}, 274 $location: {},
262 focaModalService: {} 275 $localStorage: {},
276 guardarVendedorCobrador: {},
277 focaModalService: {
278 alert: function() {}
279 }
263 }); 280 });
264 var responseFake = { 281 var responseFake = {
265 then: function() { 282 then: function() {
266 return { 283 return {
267 catch: function() { } 284 catch: function() { }
268 }; 285 };
269 } 286 }
270 }; 287 };
288 scope.vendedorCobrador = {
289 NOM: true,
290 domicilio: true,
291 codigoPostal: true,
292 dni: true,
293 rol: true,
294 provincia: {
295 NOMBRE: true
296 },
297 localidad: {
298 NOMBRE: true
299 },
300 };
271 301
272 //act 302 //act
273 spyOn(focaAbmVendedorCobradorService, 'guardarVendedorCobrador') 303 spyOn(focaAbmVendedorCobradorService, 'guardarVendedorCobrador')
274 .and.returnValue(responseFake); 304 .and.returnValue(responseFake);
275 scope.guardar(); 305 scope.guardar();
276 306
277 //assert 307 //assert
278 expect(focaAbmVendedorCobradorService.guardarVendedorCobrador).toHaveBeenCalled(); 308 expect(focaAbmVendedorCobradorService.guardarVendedorCobrador).toHaveBeenCalled();
279 }); 309 });
280 310
281 it('la función $scope.guardar llama a guardaVendedorCobrador y edicion true' + 311 it('la función $scope.guardar llama a guardaVendedorCobrador y edicion true ' +
282 'llama a $location.path', function(done) 312 'llama a $location.path', function(done)
283 { 313 {
284 inject(function($location) { 314 inject(function($location) {
285 315
286 //arrange 316 //arrange
287 var scope= {}; 317 var scope= {
318 $watch: function(){},
319 };
288 var focaAbmVendedorCobradorService = { 320 var focaAbmVendedorCobradorService = {
289 getCodigoSiguiente: function() { 321 getCodigoSiguiente: function() {
290 return { 322 return {
291 then: function() { } 323 then: function() { }
292 }; 324 };
293 }, 325 },
294 getVendedorCobradorById: function() { 326 getVendedorCobradorById: function() {
295 return { 327 return {
296 then: function() { } 328 then: function() { }
297 }; 329 };
298 }, 330 },
299 guardarVendedorCobrador: function() { } 331 guardarVendedorCobrador: function() { }
300 }; 332 };
301 $controller('focaAbmVendedorCobradorController', { 333 $controller('focaAbmVendedorCobradorController', {
302 $scope: scope, 334 $scope: scope,
303 focaAbmVendedorCobradorService: focaAbmVendedorCobradorService, 335 focaAbmVendedorCobradorService: focaAbmVendedorCobradorService,
304 $routeParams: {}, 336 $routeParams: {},
305 focaBotoneraLateralService: {}, 337 focaBotoneraLateralService: {},
306 $timeout: timeout, 338 $timeout: timeout,
307 $uibModal: {}, 339 $uibModal: {},
308 $location: $location, 340 $location: $location,
309 focaModalService: {} 341 $localStorage: {},
342 focaModalService: {
343 alert: function() {}
344 }
310 }); 345 });
311 var promiseFake = Promise.resolve(true, false); 346 var promiseFake = Promise.resolve(true, false);
312 347
348 scope.vendedorCobrador = {
349 NOM: true,
350 domicilio: true,
351 codigoPostal: true,
352 dni: true,
353 rol: true,
354 provincia: {
355 NOMBRE: true
356 },
357 localidad: {
358 NOMBRE: true
359 },
360 };
361
313 //act 362 //act
314 spyOn(focaAbmVendedorCobradorService, 'guardarVendedorCobrador') 363 spyOn(focaAbmVendedorCobradorService, 'guardarVendedorCobrador')
315 .and.returnValue(promiseFake); 364 .and.returnValue(promiseFake);
316 scope.edicion = true; 365 scope.edicion = true;
317 scope.guardar(); 366 scope.guardar();
318 367
319 //assert 368 //assert
320 promiseFake.then(function() { 369 promiseFake.then(function() {
321 expect($location.url()).toEqual('/vendedor-cobrador'); 370 expect($location.url()).toEqual('/vendedor-cobrador');
322 done(); 371 done();
323 }); 372 });
324 }); 373 });
325 }); 374 });
326 375
327 it('la función $scope.guardar llama a guardaVendedorCobrador y scope.edicion false' + 376 it('la función $scope.guardar llama a guardaVendedorCobrador y scope.edicion false ' +
328 'llama a scope.cambiarContraseña', function(done) 377 'llama a scope.cambiarContraseña', function(done)
329 { 378 {
330 //arrange 379 //arrange
331 var scope= {}; 380 var scope= {
381 $watch: function() {}
382 };
332 var focaAbmVendedorCobradorService = { 383 var focaAbmVendedorCobradorService = {
333 getCodigoSiguiente: function() { 384 getCodigoSiguiente: function() {
334 return { 385 return {
335 then: function() { } 386 then: function() { }
336 }; 387 };
337 }, 388 },
338 getVendedorCobradorById: function() { 389 getVendedorCobradorById: function() {
339 return { 390 return {
340 then: function() { } 391 then: function() { }
341 }; 392 };
342 }, 393 },
343 guardarVendedorCobrador: function() { } 394 guardarVendedorCobrador: function() { }
344 }; 395 };
345 $controller('focaAbmVendedorCobradorController', { 396 $controller('focaAbmVendedorCobradorController', {
346 $scope: scope, 397 $scope: scope,
347 focaAbmVendedorCobradorService: focaAbmVendedorCobradorService, 398 focaAbmVendedorCobradorService: focaAbmVendedorCobradorService,
348 $routeParams: {}, 399 $routeParams: {},
349 focaBotoneraLateralService: {}, 400 focaBotoneraLateralService: {},
350 $timeout: timeout, 401 $timeout: timeout,
351 $uibModal: {}, 402 $uibModal: {},
352 $location: {}, 403 $location: {},
353 focaModalService: {} 404 $localStorage: {},
405 focaModalService: {
406 alert: function() {}
407 }
354 }); 408 });
355 var promiseFake = Promise.resolve(true, false); 409 var promiseFake = Promise.resolve(true, false);
356 410
411 scope.vendedorCobrador = {
412 NOM: true,
413 domicilio: true,
414 codigoPostal: true,
415 dni: true,
416 rol: true,
417 provincia: {
418 NOMBRE: true
419 },
420 localidad: {
421 NOMBRE: true
422 },
423 };
424
357 //act 425 //act
358 spyOn(focaAbmVendedorCobradorService, 'guardarVendedorCobrador') 426 spyOn(focaAbmVendedorCobradorService, 'guardarVendedorCobrador')
359 .and.returnValue(promiseFake); 427 .and.returnValue(promiseFake);
360 spyOn(scope, 'cambiarPassword'); 428 spyOn(scope, 'cambiarPassword');
361 scope.edicion = false; 429 scope.edicion = false;
362 scope.guardar(); 430 scope.guardar();
363 431
364 //assert 432 //assert
365 promiseFake.then(function() { 433 promiseFake.then(function() {
366 expect(scope.cambiarPassword).toHaveBeenCalled(); 434 expect(scope.cambiarPassword).toHaveBeenCalled();
367 done(); 435 done();
368 }); 436 });
369 }); 437 });
370 438
371 it('la función $scope.guardar llama a guardaVendedorCobrador y llama foca modal alert' + 439 it('la función $scope.guardar llama a guardaVendedorCobrador y llama foca modal alert' +
372 'cuando la promsa es rechazada y el error es 409', function(done) 440 'cuando la promesa es rechazada y el error es 409', function(done)
373 { 441 {
374 //arrange 442 //arrange
375 var scope= {}; 443 var scope= {
444 $watch: function() {}
445 };
376 var focaAbmVendedorCobradorService = { 446 var focaAbmVendedorCobradorService = {
377 getCodigoSiguiente: function() { 447 getCodigoSiguiente: function() {
378 return { 448 return {
379 then: function() { } 449 then: function() { }
380 }; 450 };
381 }, 451 },
382 getVendedorCobradorById: function() { 452 getVendedorCobradorById: function() {
383 return { 453 return {
384 then: function() { } 454 then: function() { }
385 }; 455 };
386 }, 456 },
387 guardarVendedorCobrador: function() { } 457 guardarVendedorCobrador: function() { }
388 }; 458 };
389 var focaModalService = { 459 var focaModalService = {
390 alert: function() { } 460 alert: function() { }
391 }; 461 };
392 $controller('focaAbmVendedorCobradorController', { 462 $controller('focaAbmVendedorCobradorController', {
393 $scope: scope, 463 $scope: scope,
394 focaAbmVendedorCobradorService: focaAbmVendedorCobradorService, 464 focaAbmVendedorCobradorService: focaAbmVendedorCobradorService,
395 $routeParams: {}, 465 $routeParams: {},
396 focaBotoneraLateralService: {}, 466 focaBotoneraLateralService: {},
397 $timeout: timeout, 467 $timeout: timeout,
398 $uibModal: {}, 468 $uibModal: {},
399 $location: {}, 469 $location: {},
470 $localStorage: {},
400 focaModalService: focaModalService 471 focaModalService: focaModalService
401 }); 472 });
402 var promiseFake = Promise.reject({ status: 409 }); 473 var promiseFake = Promise.reject({ status: 409 });
403 474
404 //act 475 //act
405 spyOn(focaAbmVendedorCobradorService, 'guardarVendedorCobrador') 476 spyOn(focaAbmVendedorCobradorService, 'guardarVendedorCobrador')
406 .and.returnValue(promiseFake); 477 .and.returnValue(promiseFake);
407 spyOn(focaModalService, 'alert'); 478 spyOn(focaModalService, 'alert');
408 scope.guardar(); 479 scope.guardar();
409 480
410 //assert 481 //assert
411 promiseFake.catch(function() { 482 promiseFake.catch(function() {
412 setTimeout(function() { 483 setTimeout(function() {
413 expect(focaModalService.alert).toHaveBeenCalled(); 484 expect(focaModalService.alert).toHaveBeenCalled();
414 done(); 485 done();
415 }, 100); 486 }, 100);
416 }); 487 });
417 }); 488 });
418 489
419 it('la función $scope.seleccionarProvincia llama a foca Modal', function() { 490 it('la función $scope.seleccionarProvincia llama a foca Modal', function() {
420 //arrange 491 //arrange
421 var scope= {}; 492 var scope= {
493 $watch: function() {}
494 };
422 var focaAbmVendedorCobradorService = { 495 var focaAbmVendedorCobradorService = {
423 getCodigoSiguiente: function() { 496 getCodigoSiguiente: function() {
424 return { 497 return {
425 then: function() { } 498 then: function() { }
426 }; 499 };
427 }, 500 },
428 getVendedorCobradorById: function() { 501 getVendedorCobradorById: function() {
429 return { 502 return {
430 then: function() { } 503 then: function() { }
431 }; 504 };
432 }, 505 },
433 }; 506 };
434 var focaModalService = { 507 var focaModalService = {
435 modal: function() { } 508 modal: function() { }
436 }; 509 };
437 $controller('focaAbmVendedorCobradorController', { 510 $controller('focaAbmVendedorCobradorController', {
438 $scope: scope, 511 $scope: scope,
439 focaAbmVendedorCobradorService: focaAbmVendedorCobradorService, 512 focaAbmVendedorCobradorService: focaAbmVendedorCobradorService,
440 $routeParams: {}, 513 $routeParams: {},
441 focaBotoneraLateralService: {}, 514 focaBotoneraLateralService: {},
442 $timeout: timeout, 515 $timeout: timeout,
443 $uibModal: {}, 516 $uibModal: {},
444 $location: {}, 517 $location: {},
518 $localStorage: {},
445 focaModalService: focaModalService 519 focaModalService: focaModalService
446 }); 520 });
447 521
448 //act 522 //act
449 spyOn(focaModalService, 'modal').and.returnValue({ then: function() { } }); 523 spyOn(focaModalService, 'modal').and.returnValue({ then: function() { } });
450 scope.seleccionarProvincia(13); 524 scope.seleccionarProvincia(13);
451 525
452 //assert 526 //assert
453 expect(focaModalService.modal).toHaveBeenCalled(); 527 expect(focaModalService.modal).toHaveBeenCalled();
454 }); 528 });
455 529
456 it('función $scope.seleccionarLocalidad llama foca alert si no hay provincia', function() { 530 it('función $scope.seleccionarLocalidad llama foca alert si no hay provincia', function() {
457 //arrange 531 //arrange
458 var scope= {}; 532 var scope = {
533 $watch: function() {}
534 };
459 var focaAbmVendedorCobradorService = { 535 var focaAbmVendedorCobradorService = {
460 getCodigoSiguiente: function() { 536 getCodigoSiguiente: function() {
461 return { 537 return {
462 then: function() { } 538 then: function() { }
463 }; 539 };
464 }, 540 },
465 getVendedorCobradorById: function() { 541 getVendedorCobradorById: function() {
466 return { 542 return {
467 then: function() { } 543 then: function() { }
468 }; 544 };
469 }, 545 },
470 }; 546 };
471 var focaModalService = { 547 var focaModalService = {
472 alert: function() { } 548 alert: function() { }
473 }; 549 };
474 $controller('focaAbmVendedorCobradorController', { 550 $controller('focaAbmVendedorCobradorController', {
475 $scope: scope, 551 $scope: scope,
476 focaAbmVendedorCobradorService: focaAbmVendedorCobradorService, 552 focaAbmVendedorCobradorService: focaAbmVendedorCobradorService,
477 $routeParams: {}, 553 $routeParams: {},
478 focaBotoneraLateralService: {}, 554 focaBotoneraLateralService: {},
479 $timeout: timeout, 555 $timeout: timeout,
480 $uibModal: {}, 556 $uibModal: {},
481 $location: {}, 557 $location: {},
558 $localStorage: {},
482 focaModalService: focaModalService 559 focaModalService: focaModalService
483 }); 560 });
484 561
485 //act 562 //act
486 spyOn(focaModalService, 'alert'); 563 spyOn(focaModalService, 'alert');
487 scope.vendedorCobrador.provincia.ID = false; 564 scope.vendedorCobrador.provincia.ID = false;
488 scope.seleccionarLocalidad(); 565 scope.seleccionarLocalidad();
489 566
490 //assert 567 //assert
491 expect(focaModalService.alert).toHaveBeenCalled(); 568 expect(focaModalService.alert).toHaveBeenCalled();
492 }); 569 });
493 570
494 it('función $scope.seleccionarLocalidad llama foca modal', function() { 571 it('función $scope.seleccionarLocalidad llama foca modal', function() {
495 //arrange 572 //arrange
496 var scope= {}; 573 var scope= {
574 $watch: function() {}
575 };
497 var focaAbmVendedorCobradorService = { 576 var focaAbmVendedorCobradorService = {
498 getCodigoSiguiente: function() { 577 getCodigoSiguiente: function() {
499 return { 578 return {
500 then: function() { } 579 then: function() { }
501 }; 580 };
502 }, 581 },
503 getVendedorCobradorById: function() { 582 getVendedorCobradorById: function() {
504 return { 583 return {
505 then: function() { } 584 then: function() { }
506 }; 585 };
507 }, 586 },
508 }; 587 };
509 var focaModalService = { 588 var focaModalService = {
510 modal: function() { } 589 modal: function() { }
511 }; 590 };
512 $controller('focaAbmVendedorCobradorController', { 591 $controller('focaAbmVendedorCobradorController', {
513 $scope: scope, 592 $scope: scope,
514 focaAbmVendedorCobradorService: focaAbmVendedorCobradorService, 593 focaAbmVendedorCobradorService: focaAbmVendedorCobradorService,
515 $routeParams: {}, 594 $routeParams: {},
516 focaBotoneraLateralService: {}, 595 focaBotoneraLateralService: {},
517 $timeout: timeout, 596 $timeout: timeout,
518 $uibModal: {}, 597 $uibModal: {},
519 $location: {}, 598 $location: {},
599 $localStorage: {},
520 focaModalService: focaModalService 600 focaModalService: focaModalService
521 }); 601 });
522 602
523 //act 603 //act
524 spyOn(focaModalService, 'modal').and.returnValue({ then: function() { } }); 604 spyOn(focaModalService, 'modal').and.returnValue({ then: function() { } });
525 scope.vendedorCobrador.provincia.ID = true; 605 scope.vendedorCobrador.provincia.ID = true;
526 scope.seleccionarLocalidad(13); 606 scope.seleccionarLocalidad(13);
527 607
528 //assert 608 //assert
529 expect(focaModalService.modal).toHaveBeenCalled(); 609 expect(focaModalService.modal).toHaveBeenCalled();
530 }); 610 });
531 611
532 it('la función scope.cancelar lleva a location correcte', function() { 612 it('la función scope.cancelar lleva a location correcte', function() {
533 613
534 inject(function($location) { 614 inject(function($location) {
535 //arrange 615 //arrange
536 var scope = {}; 616 var scope = {
617 $watch: function() {}
618 };
537 $controller('focaAbmVendedorCobradorController', { 619 $controller('focaAbmVendedorCobradorController', {
538 $scope: scope, 620 $scope: scope,
539 focaAbmVendedorCobradorService: { 621 focaAbmVendedorCobradorService: {
540 getCodigoSiguiente: function() { 622 getCodigoSiguiente: function() {
541 return { 623 return {
542 then: function() { } 624 then: function() { }
543 }; 625 };
544 }, 626 },
545 getVendedorCobradorById: function() { 627 getVendedorCobradorById: function() {
546 return { 628 return {
547 then: function() { } 629 then: function() { }
548 }; 630 };
549 } 631 }
550 }, 632 },
551 $routeParams: {}, 633 $routeParams: {},
552 focaBotoneraLateralService: {}, 634 focaBotoneraLateralService: {},
553 $timeout: timeout, 635 $timeout: timeout,
554 $uibModal: {}, 636 $uibModal: {},
555 $location: $location, 637 $location: $location,
638 $localStorage: {},
556 focaModalService: {} 639 focaModalService: {}
557 }); 640 });
558 641
559 //act 642 //act
560 scope.formVendedorCobrador = { 643 scope.formVendedorCobrador = {
561 $pristine: true 644 $pristine: true
562 }; 645 };
563 scope.cancelar(); 646 scope.cancelar();
564 647
565 //assert 648 //assert
566 expect($location.url()).toEqual('/vendedor-cobrador'); 649 expect($location.url()).toEqual('/vendedor-cobrador');
567 }); 650 });
568 }); 651 });
569 652
570 it('la funcion scope.next suma uno a scope.focused', function() { 653 it('la funcion scope.next suma uno a scope.focused', function() {
571 654
572 //arrange 655 //arrange
573 var scope = {}; 656 var scope = {
657 $watch: function() {}
658 };
574 $controller('focaAbmVendedorCobradorController', { 659 $controller('focaAbmVendedorCobradorController', {
575 $scope: scope, 660 $scope: scope,
576 focaAbmVendedorCobradorService: { 661 focaAbmVendedorCobradorService: {
577 getCodigoSiguiente: function() { 662 getCodigoSiguiente: function() {
578 return { 663 return {
579 then: function() { } 664 then: function() { }
580 }; 665 };
581 }, 666 },
582 getVendedorCobradorById: function() { 667 getVendedorCobradorById: function() {
583 return { 668 return {
584 then: function() { } 669 then: function() { }
585 }; 670 };
586 } 671 }
587 }, 672 },
588 $routeParams: {}, 673 $routeParams: {},
589 focaBotoneraLateralService: {}, 674 focaBotoneraLateralService: {},
590 $timeout: timeout, 675 $timeout: timeout,
591 $uibModal: {}, 676 $uibModal: {},
592 $location: {}, 677 $location: {},
678 $localStorage: {},
593 focaModalService: {} 679 focaModalService: {}
594 }); 680 });
595 681
596 //act 682 //act
597 var esperado = scope.focused + 1; 683 var esperado = scope.focused + 1;
598 scope.next(13); 684 scope.next(13);
599 685
600 //assert 686 //assert
601 expect(scope.focused).toEqual(esperado); 687 expect(scope.focused).toEqual(esperado);
602 }); 688 });
603 689
604 it('la funcion scope.cambiarPassword abre modal', function() { 690 it('la funcion scope.cambiarPassword abre modal', function() {
605 691
606 //arrange 692 //arrange
607 var scope = {}; 693 var scope = {
694 $watch: function() {}
695 };
608 var uibModal = { 696 var uibModal = {
609 open: function() { } 697 open: function() { }
610 }; 698 };
611 $controller('focaAbmVendedorCobradorController', { 699 $controller('focaAbmVendedorCobradorController', {
612 $scope: scope, 700 $scope: scope,
613 focaAbmVendedorCobradorService: { 701 focaAbmVendedorCobradorService: {
614 getCodigoSiguiente: function() { 702 getCodigoSiguiente: function() {
615 return { 703 return {
616 then: function() { } 704 then: function() { }
617 }; 705 };
618 }, 706 },
619 getVendedorCobradorById: function() { 707 getVendedorCobradorById: function() {
620 return { 708 return {
621 then: function() { } 709 then: function() { }
622 }; 710 };
623 } 711 }
624 }, 712 },
625 $routeParams: {}, 713 $routeParams: {},
626 focaBotoneraLateralService: {}, 714 focaBotoneraLateralService: {},
627 $timeout: timeout, 715 $timeout: timeout,
628 $uibModal: uibModal, 716 $uibModal: uibModal,
629 $location: {}, 717 $location: {},
718 $localStorage: {},
630 focaModalService: {} 719 focaModalService: {}
631 }); 720 });
632 var responseFake = { 721 var responseFake = {
633 result: { 722 result: {
634 then: function() { } 723 then: function() { }
635 } 724 }
636 }; 725 };
637 726
638 //act 727 //act
639 spyOn(uibModal, 'open').and.returnValue(responseFake); 728 spyOn(uibModal, 'open').and.returnValue(responseFake);
640 scope.cambiarPassword(); 729 scope.cambiarPassword();
641 730
642 //assert 731 //assert
643 expect(uibModal.open).toHaveBeenCalled(); 732 expect(uibModal.open).toHaveBeenCalled();
644 }); 733 });
645 734
646 it('la funcion scope.cambiarPassword abre modal y llama a location cuando edicion es ' + 735 it('la funcion scope.cambiarPassword abre modal y llama a location cuando edicion es ' +
647 'falso', function(done) 736 'falso', function(done)
648 { 737 {
649 inject(function($location) { 738 inject(function($location) {
650 739
651 //arrange 740 //arrange
652 var scope = {}; 741 var scope = {
742 $watch: function() {}
743 };
653 var uibModal = { 744 var uibModal = {
654 open: function() { } 745 open: function() { }
655 }; 746 };
656 $controller('focaAbmVendedorCobradorController', { 747 $controller('focaAbmVendedorCobradorController', {
657 $scope: scope, 748 $scope: scope,
658 focaAbmVendedorCobradorService: { 749 focaAbmVendedorCobradorService: {
659 getCodigoSiguiente: function() { 750 getCodigoSiguiente: function() {
660 return { 751 return {
661 then: function() { } 752 then: function() { }
662 }; 753 };
663 }, 754 },
664 getVendedorCobradorById: function() { 755 getVendedorCobradorById: function() {
665 return { 756 return {
666 then: function() { } 757 then: function() { }
667 }; 758 };
668 } 759 }
669 }, 760 },
670 $routeParams: {}, 761 $routeParams: {},
671 focaBotoneraLateralService: {}, 762 focaBotoneraLateralService: {},
672 $timeout: timeout, 763 $timeout: timeout,
673 $uibModal: uibModal, 764 $uibModal: uibModal,
674 $location: $location, 765 $location: $location,
766 $localStorage: {},
675 focaModalService: {} 767 focaModalService: {}
676 }); 768 });
677 var responseFake = { 769 var responseFake = {
678 result: Promise.resolve(true) 770 result: Promise.resolve(true)
679 }; 771 };
680 772
681 //act 773 //act
682 spyOn(uibModal, 'open').and.returnValue(responseFake); 774 spyOn(uibModal, 'open').and.returnValue(responseFake);
683 scope.edicion = false; 775 scope.edicion = false;
684 scope.cambiarPassword(); 776 scope.cambiarPassword();
685 777
686 //assert 778 //assert
687 responseFake.result.then(function() { 779 responseFake.result.then(function() {
688 expect($location.url()).toEqual('/vendedor-cobrador'); 780 expect($location.url()).toEqual('/vendedor-cobrador');
689 done(); 781 done();
690 }); 782 });
691 }); 783 });
692 }); 784 });
693 }); 785 });
694 }); 786 });
695 787
src/js/controllerItem.js
1 angular.module('focaAbmVendedorCobrador') 1 angular.module('focaAbmVendedorCobrador')
2 .controller('focaAbmVendedorCobradorController', [ 2 .controller('focaAbmVendedorCobradorController', [
3 '$scope', 'focaAbmVendedorCobradorService', '$routeParams', 'focaBotoneraLateralService', 3 '$scope', 'focaAbmVendedorCobradorService', '$routeParams', 'focaBotoneraLateralService',
4 '$timeout', '$uibModal', '$location', 'focaModalService', '$localStorage', '$filter', 4 '$timeout', '$uibModal', '$location', 'focaModalService', '$localStorage', '$filter',
5 function($scope, focaAbmVendedorCobradorService, $routeParams, focaBotoneraLateralService, 5 function($scope, focaAbmVendedorCobradorService, $routeParams, focaBotoneraLateralService,
6 $timeout, $uibModal, $location, focaModalService, $localStorage, $filter) { 6 $timeout, $uibModal, $location, focaModalService, $localStorage, $filter) {
7 7
8 $scope.guardado = false; 8 $scope.guardado = false;
9 $scope.now = new Date(); 9 $scope.now = new Date();
10 $scope.focused = 0; 10 $scope.focused = 0;
11 $scope.vendedorCobrador = { 11 $scope.vendedorCobrador = {
12 dni: '', 12 dni: '',
13 CNET: '0', 13 CNET: '0',
14 CFIN: '0', 14 CFIN: '0',
15 CCOB: '0', 15 CCOB: '0',
16 comisionVendedor: '0.00', 16 comisionVendedor: '0.00',
17 comisionCobrador: '0.00', 17 comisionCobrador: '0.00',
18 provincia: { 18 provincia: {
19 NOMBRE: '' 19 NOMBRE: ''
20 }, 20 },
21 localidad: { 21 localidad: {
22 NOMBRE: '' 22 NOMBRE: ''
23 }, 23 },
24 rol: '' 24 rol: ''
25 }; 25 };
26 $scope.options = [ 26 $scope.options = [
27 { 27 {
28 label: 'Vendedor', 28 label: 'Vendedor',
29 value: 1 29 value: 1
30 }, 30 },
31 { 31 {
32 label: 'Cobrador', 32 label: 'Cobrador',
33 value: 2 33 value: 2
34 }, 34 },
35 { 35 {
36 label: 'Vendedor y cobrador', 36 label: 'Vendedor y cobrador',
37 value: 3 37 value: 3
38 } 38 }
39 ]; 39 ];
40 //SETEO BOTONERA LATERAL 40 //SETEO BOTONERA LATERAL
41 $timeout(function() { 41 $timeout(function() {
42 focaBotoneraLateralService.showSalir(false); 42 focaBotoneraLateralService.showSalir(false);
43 focaBotoneraLateralService.showPausar(true); 43 focaBotoneraLateralService.showPausar(true);
44 focaBotoneraLateralService.showCancelar(false); 44 focaBotoneraLateralService.showCancelar(false);
45 focaBotoneraLateralService.showGuardar(true, $scope.guardar); 45 focaBotoneraLateralService.showGuardar(true, $scope.guardar);
46 focaBotoneraLateralService.addCustomButton('Salir', $scope.cancelar); 46 focaBotoneraLateralService.addCustomButton('Salir', $scope.cancelar);
47 }); 47 });
48 48
49 $timeout(function() {getLSVendedor();}); 49 $timeout(function() {getLSVendedor();});
50 50
51 focaAbmVendedorCobradorService 51 focaAbmVendedorCobradorService
52 .getCodigoSiguiente() 52 .getCodigoSiguiente()
53 .then(function(res) { 53 .then(function(res) {
54 $scope.vendedorCobrador.NUM = res.data.mayor; 54 $scope.vendedorCobrador.NUM = res.data.mayor;
55 }); 55 });
56 56
57 focaAbmVendedorCobradorService 57 focaAbmVendedorCobradorService
58 .getVendedorCobradorById($routeParams.id) 58 .getVendedorCobradorById($routeParams.id)
59 .then(function(res) { 59 .then(function(res) {
60 if (res.data) { 60 if (res.data) {
61 $scope.edicion = true; 61 $scope.edicion = true;
62 $scope.vendedorCobrador = res.data; 62 $scope.vendedorCobrador = res.data;
63 } 63 }
64 }); 64 });
65 65
66 $scope.guardar = function() { 66 $scope.guardar = function() {
67 67
68 if (!$scope.vendedorCobrador.NOM) { 68 if (!$scope.vendedorCobrador.NOM) {
69 focaModalService.alert('Ingrese nombre'); 69 focaModalService.alert('Ingrese nombre');
70 return; 70 return;
71 } else if (!$scope.vendedorCobrador.domicilio) { 71 } else if (!$scope.vendedorCobrador.domicilio) {
72 focaModalService.alert('Ingrese domicilio'); 72 focaModalService.alert('Ingrese domicilio');
73 return; 73 return;
74 } else if (!$scope.vendedorCobrador.codigoPostal) { 74 } else if (!$scope.vendedorCobrador.codigoPostal) {
75 focaModalService.alert('Ingrese código postal'); 75 focaModalService.alert('Ingrese código postal');
76 return; 76 return;
77 } else if (!$scope.vendedorCobrador.dni) { 77 } else if (!$scope.vendedorCobrador.dni) {
78 focaModalService.alert('Ingrese dni'); 78 focaModalService.alert('Ingrese dni');
79 return; 79 return;
80 } else if (!$scope.vendedorCobrador.rol) { 80 } else if (!$scope.vendedorCobrador.rol) {
81 focaModalService.alert('Seleccione tipo'); 81 focaModalService.alert('Seleccione tipo');
82 return; 82 return;
83 } else if (!$scope.vendedorCobrador.provincia.NOMBRE) { 83 } else if (!$scope.vendedorCobrador.provincia.NOMBRE) {
84 focaModalService.alert('Seleccione una Provincia'); 84 focaModalService.alert('Seleccione una Provincia');
85 return; 85 return;
86 } else if (!$scope.vendedorCobrador.localidad.NOMBRE) { 86 } else if (!$scope.vendedorCobrador.localidad.NOMBRE) {
87 focaModalService.alert('Seleccione una Localidad'); 87 focaModalService.alert('Seleccione una Localidad');
88 return; 88 return;
89 } 89 } else if ($scope.vendedorCobrador.comisionCobrador < 0 || $scope.vendedorCobrador.comisionVendedor < 0){
90 focaModalService.alert('Ingrese un numero superior a 0 en porcentaje de comision');
91 return;
92 }
90 93
91 if ($scope.guardado) { 94 if ($scope.guardado) {
92 $scope.cambiarPassword(); 95 $scope.cambiarPassword();
93 } else { 96 } else {
94 97
95 var vendedorCobrador = angular.copy($scope.vendedorCobrador); 98 var vendedorCobrador = angular.copy($scope.vendedorCobrador);
96 99
97 vendedorCobrador.idProvincia = vendedorCobrador.provincia.ID; 100 vendedorCobrador.idProvincia = vendedorCobrador.provincia.ID;
98 vendedorCobrador.idLocalidad = vendedorCobrador.localidad.ID; 101 vendedorCobrador.idLocalidad = vendedorCobrador.localidad.ID;
99 102
100 delete vendedorCobrador.provincia; 103 delete vendedorCobrador.provincia;
101 delete vendedorCobrador.localidad; 104 delete vendedorCobrador.localidad;
102 if (vendedorCobrador.rol == 1) { 105 if (vendedorCobrador.rol == 1) {
103 delete vendedorCobrador.comisionCobrador; 106 delete vendedorCobrador.comisionCobrador;
104 } else if (vendedorCobrador.rol == 2) { 107 } else if (vendedorCobrador.rol == 2) {
105 delete vendedorCobrador.comisionVendedor; 108 delete vendedorCobrador.comisionVendedor;
106 } 109 }
107 vendedorCobrador.metodo = ($routeParams.id === '0') ? 'crear' : 'actualizar'; 110 vendedorCobrador.metodo = ($routeParams.id === '0') ? 'crear' : 'actualizar';
108 111
109 focaAbmVendedorCobradorService 112 focaAbmVendedorCobradorService
110 .guardarVendedorCobrador(vendedorCobrador) 113 .guardarVendedorCobrador(vendedorCobrador)
111 .then(function(res) { 114 .then(function(res) {
112 if ($scope.edicion) { 115 if ($scope.edicion) {
113 $location.path('/vendedor-cobrador'); 116 $location.path('/vendedor-cobrador');
114 } else { 117 } else {
115 $scope.vendedorCobrador = res.data; 118 $scope.vendedorCobrador = res.data;
116 $scope.cambiarPassword(); 119 $scope.cambiarPassword();
117 $scope.guardado = true; 120 $scope.guardado = true;
118 } 121 }
119 }) 122 })
120 .catch(function(err) { 123 .catch(function(err) {
121 if (err.status === 409) { 124 if (err.status === 409) {
122 focaModalService.alert(err.data); 125 focaModalService.alert(err.data);
123 } 126 }
124 }); 127 });
125 } 128 }
126 }; 129 };
127 130
128 $scope.seleccionarProvincia = function(key) { 131 $scope.seleccionarProvincia = function(key) {
129 if (key === 13) { 132 if (key === 13) {
130 var parametrosModal = { 133 var parametrosModal = {
131 query: '/provincia', 134 query: '/provincia',
132 columnas: [ 135 columnas: [
133 { 136 {
134 propiedad: 'ID', 137 propiedad: 'ID',
135 nombre: 'Codigo', 138 nombre: 'Codigo',
136 filtro: { 139 filtro: {
137 nombre: 'rellenarDigitos', 140 nombre: 'rellenarDigitos',
138 parametro: 3 141 parametro: 3
139 } 142 }
140 }, 143 },
141 { 144 {
142 propiedad: 'NOMBRE', 145 propiedad: 'NOMBRE',
143 nombre: 'Nombre' 146 nombre: 'Nombre'
144 } 147 }
145 ], 148 ],
146 titulo: 'Búsqueda de provincias', 149 titulo: 'Búsqueda de provincias',
147 size: 'md' 150 size: 'md'
148 }; 151 };
149 focaModalService.modal(parametrosModal).then(function(provincia) { 152 focaModalService.modal(parametrosModal).then(function(provincia) {
150 $scope.vendedorCobrador.provincia = provincia; 153 $scope.vendedorCobrador.provincia = provincia;
151 $timeout(function() { 154 $timeout(function() {
152 $scope.focused = 5; 155 $scope.focused = 5;
153 }); 156 });
154 }, function() { 157 }, function() {
155 //TODO: función llamada cuando cancela el modal 158 //TODO: función llamada cuando cancela el modal
156 }); 159 });
157 } 160 }
158 }; 161 };
159 162
160 $scope.seleccionarLocalidad = function(key) { 163 $scope.seleccionarLocalidad = function(key) {
161 if (!$scope.vendedorCobrador.provincia.ID) { 164 if (!$scope.vendedorCobrador.provincia.ID) {
162 focaModalService.alert('Seleccione una provincia'); 165 focaModalService.alert('Seleccione una provincia');
163 return; 166 return;
164 } 167 }
165 if (key === 13) { 168 if (key === 13) {
166 var parametrosModal = { 169 var parametrosModal = {
167 query: '/localidad/' + $scope.vendedorCobrador.provincia.ID, 170 query: '/localidad/' + $scope.vendedorCobrador.provincia.ID,
168 columnas: [ 171 columnas: [
169 { 172 {
170 propiedad: 'ID', 173 propiedad: 'ID',
171 nombre: 'Código', 174 nombre: 'Código',
172 filtro: { 175 filtro: {
173 nombre: 'rellenarDigitos', 176 nombre: 'rellenarDigitos',
174 parametro: 3 177 parametro: 3
175 } 178 }
176 }, 179 },
177 { 180 {
178 propiedad: 'NOMBRE', 181 propiedad: 'NOMBRE',
179 nombre: 'Nombre' 182 nombre: 'Nombre'
180 } 183 }
181 ], 184 ],
182 titulo: 'Búsqueda de localidades', 185 titulo: 'Búsqueda de localidades',
183 size: 'md' 186 size: 'md'
184 }; 187 };
185 focaModalService.modal(parametrosModal).then(function(localidad) { 188 focaModalService.modal(parametrosModal).then(function(localidad) {
186 $scope.vendedorCobrador.localidad = localidad; 189 $scope.vendedorCobrador.localidad = localidad;
187 $timeout(function() { 190 $timeout(function() {
188 $scope.focused = 6; 191 $scope.focused = 6;
189 }); 192 });
190 }, function() { 193 }, function() {
191 //TODO: función llamada cuando cancela el modal 194 //TODO: función llamada cuando cancela el modal
192 }); 195 });
193 } 196 }
194 }; 197 };
195 198
196 $scope.$watch('vendedorCobrador', function(newValue) { 199 $scope.$watch('vendedorCobrador', function(newValue) {
197 focaBotoneraLateralService.setPausarData({ 200 focaBotoneraLateralService.setPausarData({
198 label:'vendedorCobrador', 201 label:'vendedorCobrador',
199 val: newValue 202 val: newValue
200 }); 203 });
201 }, true); 204 }, true);
202 205
203 function getLSVendedor() { 206 function getLSVendedor() {
204 var vendedorCobrador = JSON.parse($localStorage.vendedorCobrador || null); 207 var vendedorCobrador = JSON.parse($localStorage.vendedorCobrador || null);
205 if (vendedorCobrador) { 208 if (vendedorCobrador) {
206 setearVendedor(vendedorCobrador); 209 setearVendedor(vendedorCobrador);
207 delete $localStorage.vendedorCobrador; 210 delete $localStorage.vendedorCobrador;
208 } 211 }
209 } 212 }
210 213
211 function setearVendedor(vendedorCobrador) { 214 function setearVendedor(vendedorCobrador) {
212 $scope.vendedorCobrador = vendedorCobrador; 215 $scope.vendedorCobrador = vendedorCobrador;
213 $scope.$broadcast('addCabecera', { 216 $scope.$broadcast('addCabecera', {
214 label: 'Vendedor / Cobrador:', 217 label: 'Vendedor / Cobrador:',
215 valor: $filter('rellenarDigitos')(vendedorCobrador.NUM, 2) + ' - ' + vendedorCobrador.NOM 218 valor: $filter('rellenarDigitos')(vendedorCobrador.NUM, 2) + ' - ' + vendedorCobrador.NOM
216 }); 219 });
217 } 220 }
218 221
219 $scope.cancelar = function() { 222 $scope.cancelar = function() {
220 if (!$scope.formVendedorCobrador.$pristine) { 223 if (!$scope.formVendedorCobrador.$pristine) {
221 224
222 focaModalService.confirm('¿Está seguro de que desea salir?' + 225 focaModalService.confirm('¿Está seguro de que desea salir?' +
223 'Se perderán todos los datos cargados.') 226 'Se perderán todos los datos cargados.')
224 .then(function(confirmed) { 227 .then(function(confirmed) {
225 if (confirmed && $scope.guardado && !$scope.edicion) { 228 if (confirmed && $scope.guardado && !$scope.edicion) {
226 229
227 focaAbmVendedorCobradorService 230 focaAbmVendedorCobradorService
228 .destroyVendedorCobrador($scope.vendedorCobrador.id) 231 .destroyVendedorCobrador($scope.vendedorCobrador.id)
229 .then(function() { 232 .then(function() {
230 $location.path('/vendedor-cobrador'); 233 $location.path('/vendedor-cobrador');
231 }); 234 });
232 235
233 } else if (confirmed) { 236 } else if (confirmed) {
234 $location.path('/vendedor-cobrador'); 237 $location.path('/vendedor-cobrador');
235 } 238 }
236 }); 239 });
237 240
238 } else { 241 } else {
239 $location.path('/vendedor-cobrador'); 242 $location.path('/vendedor-cobrador');
240 } 243 }
241 }; 244 };
242 245
243 $scope.next = function(key) { 246 $scope.next = function(key) {
244 if (key === 13) $scope.focused++; 247 if (key === 13) $scope.focused++;
245 }; 248 };
246 249
247 $scope.cambiarPassword = function() { 250 $scope.cambiarPassword = function() {
248 var vendedorCobrador = angular.copy($scope.vendedorCobrador); 251 var vendedorCobrador = angular.copy($scope.vendedorCobrador);
249 vendedorCobrador.nombre = vendedorCobrador.NOM; 252 vendedorCobrador.nombre = vendedorCobrador.NOM;
250 vendedorCobrador.codigo = vendedorCobrador.NUM; 253 vendedorCobrador.codigo = vendedorCobrador.NUM;
251 254
252 var parametros = { 255 var parametros = {
253 cuenta: vendedorCobrador, 256 cuenta: vendedorCobrador,
254 tipo: ($scope.vendedorCobrador.rol === 2) ? 'Cobradores' : 'Vendedores' 257 tipo: ($scope.vendedorCobrador.rol === 2) ? 'Cobradores' : 'Vendedores'
255 }; 258 };
256 259
257 var modalInstance = $uibModal.open( 260 var modalInstance = $uibModal.open(
258 { 261 {
259 ariaLabelledBy: 'Configuracion de Logueo', 262 ariaLabelledBy: 'Configuracion de Logueo',
260 templateUrl: 'modal-login.html', 263 templateUrl: 'modal-login.html',
261 controller: 'focaModalLoginController', 264 controller: 'focaModalLoginController',
262 size: 'md', 265 size: 'md',
263 resolve: { 266 resolve: {
264 parametros: function() { 267 parametros: function() {
265 return parametros; 268 return parametros;
266 } 269 }
267 } 270 }
268 } 271 }
269 ); 272 );
270 273
271 modalInstance.result.then(function() { 274 modalInstance.result.then(function() {
272 if (!$scope.edicion) $location.path('/vendedor-cobrador'); 275 if (!$scope.edicion) $location.path('/vendedor-cobrador');
273 }); 276 });
274 277
275 }; 278 };
276 } 279 }
277 ]); 280 ]);
278 281