PageRenderTime 83ms CodeModel.GetById 40ms app.highlight 14ms RepoModel.GetById 27ms app.codeStats 0ms

/test/integration/inventario/TipoProductoControllerIntegrationTests.groovy

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