/test/integration/general/UsuarioControllerIntegrationTests.groovy
Groovy | 156 lines | 140 code | 16 blank | 0 comment | 1 complexity | 3c3faec7aaee546f7319e90a667861a1 MD5 | raw file
1package general 2 3import grails.test.* 4import grails.test.mixin.* 5import org.junit.* 6 7@TestFor(UsuarioController) 8class UsuarioControllerIntegrationTests extends BaseIntegrationTest { 9 10 def springSecurityService 11 12 @Test 13 void debieraHacerRedirectALista() { 14 authenticateAdmin() 15 def controller = new UsuarioController() 16 controller.springSecurityService = springSecurityService 17 controller.index() 18 assertEquals '/usuario/lista', controller.response.redirectedUrl 19 } 20 21 @Test 22 void debieraMostrarListaDeUsuarios() { 23 def organizacion = new Organizacion ( 24 codigo: 'TST1' 25 , nombre: 'TEST-1' 26 , nombreCompleto : 'TEST-1' 27 ).save() 28 def empresa = new Empresa ( 29 codigo: 'TST1' 30 , nombre: 'TEST-1' 31 , nombreCompleto : 'TEST-1' 32 , organizacion : organizacion 33 ).save() 34 springSecurityService.currentUser.empresa = empresa 35 for (i in 1..20) { 36 new Usuario( 37 username:"TEST$i" 38 ,password:"TEST$i" 39 ,nombre:"TEST$i" 40 ,apellido:"TEST$i" 41 ,correo:"TEST$i" 42 ,empresa: empresa 43 ).save() 44 } 45 46 def controller = new UsuarioController() 47 controller.springSecurityService = springSecurityService 48 def model = controller.lista() 49 assertEquals 10, model.usuarios.size() 50 assert 20 <= model.totalDeUsuarios 51 } 52 53 @Test 54 void debieraCrearUsuario() { 55 def organizacion = new Organizacion ( 56 codigo: 'TST1' 57 , nombre: 'TEST-1' 58 , nombreCompleto : 'TEST-1' 59 ).save() 60 def empresa = new Empresa ( 61 codigo: 'TST1' 62 , nombre: 'TEST-1' 63 , nombreCompleto : 'TEST-1' 64 , organizacion : organizacion 65 ).save() 66 springSecurityService.currentUser.empresa = empresa 67 def controller = new UsuarioController() 68 controller.springSecurityService = springSecurityService 69 def model = controller.nuevo() 70 assert model 71 assert model.usuario 72 73 controller.params.username = 'TEST1' 74 controller.params.password = 'TEST1' 75 controller.params.nombre = 'TEST1' 76 controller.params.apellido = 'TEST1' 77 controller.params.correo = 'TEST1' 78 controller.crea() 79 assert controller.response.redirectedUrl.startsWith('/usuario/ver') 80 } 81 82 @Test 83 void debieraActualizarUsuario() { 84 def organizacion = new Organizacion ( 85 codigo: 'TST1' 86 , nombre: 'TEST-1' 87 , nombreCompleto : 'TEST-1' 88 ).save() 89 def empresa = new Empresa ( 90 codigo: 'TST1' 91 , nombre: 'TEST-1' 92 , nombreCompleto : 'TEST-1' 93 , organizacion : organizacion 94 ).save() 95 springSecurityService.currentUser.empresa = empresa 96 def usuario = new Usuario( 97 username:"TEST-1" 98 ,password:"TEST-1" 99 ,nombre:"TEST-1" 100 ,apellido:"TEST-1" 101 ,correo:"TEST-1" 102 ,empresa: empresa 103 ).save() 104 105 def controller = new UsuarioController() 106 controller.springSecurityService = springSecurityService 107 controller.params.id = usuario.id 108 def model = controller.ver() 109 assert model.usuario 110 assertEquals 'TEST-1', model.usuario.nombre 111 112 controller.params.id = usuario.id 113 model = controller.edita() 114 assert model.usuario 115 assertEquals 'TEST-1', model.usuario.nombre 116 117 controller.params.nombre = 'TEST-2' 118 controller.actualiza() 119 assertEquals "/usuario/ver/${usuario.id}", controller.response.redirectedUrl 120 121 usuario.refresh() 122 assertEquals 'TEST-2', usuario.nombre 123 } 124 125 @Test 126 void debieraEliminarUsuario() { 127 def organizacion = new Organizacion ( 128 codigo: 'TST1' 129 , nombre: 'TEST-1' 130 , nombreCompleto : 'TEST-1' 131 ).save() 132 def empresa = new Empresa ( 133 codigo: 'TST1' 134 , nombre: 'TEST-1' 135 , nombreCompleto : 'TEST-1' 136 , organizacion : organizacion 137 ).save() 138 springSecurityService.currentUser.empresa = empresa 139 def usuario = new Usuario( 140 username:"TEST-1" 141 ,password:"TEST-1" 142 ,nombre:"TEST-1" 143 ,apellido:"TEST-1" 144 ,correo:"TEST-1" 145 ,empresa: empresa 146 ).save() 147 148 def controller = new UsuarioController() 149 controller.params.id = usuario.id 150 controller.elimina() 151 assertEquals "/usuario/lista", controller.response.redirectedUrl 152 153 def model = Usuario.get(usuario.id) 154 assert !model 155 } 156}