PageRenderTime 25ms CodeModel.GetById 2ms app.highlight 13ms RepoModel.GetById 7ms app.codeStats 0ms

/test/integration/general/UsuarioControllerIntegrationTests.groovy

http://github.com/jdmr/mateo
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}