PageRenderTime 133ms CodeModel.GetById 60ms app.highlight 16ms RepoModel.GetById 55ms app.codeStats 0ms

/test/integration/inventario/EntradaControllerIntegrationTests.groovy

http://github.com/jdmr/mateo
Groovy | 237 lines | 186 code | 36 blank | 15 comment | 1 complexity | 48ea06175e8e1a3dc8d9f24f1291473f MD5 | raw file
  1package inventario
  2
  3import general.*
  4
  5import grails.test.*
  6import grails.test.mixin.*
  7import org.junit.*
  8
  9@TestFor(EntradaController)
 10class EntradaControllerIntegrationTests extends BaseIntegrationTest {
 11
 12    def springSecurityService
 13    
 14    @Test
 15    void debieraMostrarListaDeEntradas() {
 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        def proveedor = new Proveedor(
 35            nombre: 'proveedor'
 36            , nombreCompleto: 'proveedorsanchez'
 37            , rfc: '3333333333333'
 38            , empresa: empresa
 39        ).save()
 40
 41//        assertNotNull almacen
 42//        assertNotNull proveedor
 43
 44        for(i in 1..20) {
 45            new Entrada (
 46            	folio: "folio$i"
 47            	, factura: "factura$i"
 48            	, comentarios: "no"
 49            	, tipoCambio: "0.00"
 50            	, proveedor: proveedor
 51            	, almacen: almacen
 52            ).save()
 53        }
 54
 55//        def currentUser = springSecurityService.currentUser
 56        def controller = new EntradaController()
 57        controller.springSecurityService = springSecurityService
 58        controller.index()
 59        assertEquals '/entrada/lista', controller.response.redirectedUrl
 60
 61        def model = controller.lista()
 62//        assertNotNull model
 63//        assertNotNull model.entradas
 64
 65        assertEquals 10, model.entradas.size()
 66        assert 20 <= model.totalDeEntradas
 67    }
 68
 69    @Test
 70    void debieraCrearEntrada() {
 71    	authenticateAdmin()
 72
 73        def organizacion = new Organizacion (
 74            codigo: 'TST1'
 75            , nombre: 'TEST-1'
 76            , nombreCompleto: 'TEST-1'
 77        ).save()
 78
 79        def empresa1 = new Empresa(
 80            codigo: "emp2"
 81            , nombre: "emp"
 82            , nombreCompleto: 'emptest'
 83            , organizacion: organizacion
 84        ).save()
 85
 86        def proveedor = new Proveedor(
 87            nombre: 'proveedor'
 88            , nombreCompleto: 'proveedorsanchez'
 89            , rfc: '3333333333333'
 90            , empresa: empresa1
 91        ).save()
 92        def almacen = new Almacen(
 93            codigo: '222'
 94            , nombre: "almacen1"
 95            , empresa: empresa1
 96        ).save()
 97
 98        def controller = new EntradaController()
 99        controller.springSecurityService = springSecurityService
100
101        //controller.springSecurityService = springSecurityService
102        def model = controller.nueva()
103//        assert model
104//        assert model.entradaInstance
105
106        controller.params.folio = "folio"
107        controller.params.factura = "factura"
108        controller.params.comentarion = "no"
109        controller.params.tipoCambio = "0.00"
110        controller.params.proveedor = proveedor
111        controller.params.almacen = almacen
112        controller.crea()
113
114//        assert controller
115
116        assert controller.response.redirectedUrl.startsWith('/entrada/ver')
117    }
118
119    @Test
120    void debieraActualizarEntrada() {
121        authenticateAdmin()
122
123        def organizacion = new Organizacion (
124            codigo: 'TST1'
125            , nombre: 'TEST-1'
126            , nombreCompleto: 'TEST-1'
127        ).save()
128
129        def empresa1 = new Empresa(
130            codigo: "emp2"
131            , nombre: "emp"
132            , nombreCompleto: 'emptest'
133            , organizacion: organizacion
134        ).save()
135
136        def proveedor = new Proveedor(
137            nombre: 'proveedor'
138            , nombreCompleto: 'proveedorsanchez'
139            , rfc: '3333333333333'
140            , empresa: empresa1
141        ).save()
142        def almacen = new Almacen(
143            codigo: '222'
144            , nombre: "almacen1"
145            , empresa: empresa1
146        ).save()
147
148        def entrada = new Entrada (
149            folio: "001"
150            , factura: "10000"
151            , comentarios: "no"
152            , tipoCambio: "0.00"
153            , proveedor: proveedor
154            , almacen: almacen
155        ).save()
156        assertNotNull entrada
157        def controller = new EntradaController()
158        controller.springSecurityService = springSecurityService
159        controller.params.id = entrada.id
160        def model = controller.ver()
161//        assert model.entradaInstance
162//        assertEquals "001", model.entradaInstance.folio
163        assert model.entrada
164        assertEquals "001", model.entrada.folio
165
166        controller.params.id = entrada.id
167        model = controller.edita()
168//        assert model.entradaInstance
169//        assertEquals "10000", model.entradaInstance.factura
170        assert model.entrada
171        assertEquals "10000", model.entrada.factura
172
173        controller.params.id = entrada.id
174        controller.params.version = entrada.version
175        controller.params.folio = '10002'
176        controller.actualiza()
177        assertEquals "/entrada/ver/${entrada.id}", controller.response.redirectedUrl
178
179        entrada.refresh()
180        assertEquals '10002', entrada.folio
181    }
182
183    @Test
184    void debieraEliminarEntrada() {
185        authenticateAdmin()
186
187        def organizacion = new Organizacion (
188            codigo: 'TST1'
189            , nombre: 'TEST-1'
190            , nombreCompleto: 'TEST-1'
191        ).save()
192
193        def empresa1 = new Empresa(
194            codigo: "emp2"
195            , nombre: "emp"
196            , nombreCompleto: 'emptest'
197            , organizacion: organizacion
198        ).save()
199
200        def proveedor = new Proveedor(
201            nombre: 'proveedor'
202            , nombreCompleto: 'proveedorsanchez'
203            , rfc: '3333333333333'
204            , empresa: empresa1
205        ).save()
206        def almacen = new Almacen(
207            codigo: '222'
208            , nombre: "almacen1"
209            , empresa: empresa1
210        ).save()
211
212        def entrada = new Entrada (
213            folio: "001"
214            , factura: "10000"
215            , comentarios: "no"
216            , tipoCambio: "0.00"
217            , proveedor: proveedor
218            , almacen: almacen
219        ).save()
220
221        def controller = new EntradaController()
222        controller.springSecurityService = springSecurityService
223        controller.params.id = entrada.id
224        def model = controller.ver()
225//        assert model.entradaInstance
226//        assertEquals "001", model.entradaInstance.folio
227        assert model.entrada
228        assertEquals "001", model.entrada.folio
229
230        controller.params.id = entrada.id
231        controller.elimina()
232        assertEquals "/entrada/lista", controller.response.redirectedUrl
233
234        model = Entrada.get(entrada.id)
235        assert !model
236    }
237}