PageRenderTime 83ms CodeModel.GetById 40ms app.highlight 12ms RepoModel.GetById 28ms app.codeStats 0ms

/test/integration/general/ProveedorControllerIntegrationTests.groovy

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