Commit ec491dafbf746b3b2195221e639097693712a461

Authored by Eric Fernandez
1 parent 4dc768e2da
Exists in master and in 2 other branches develop, lab

pre commit

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