PageRenderTime 24ms CodeModel.GetById 2ms app.highlight 18ms RepoModel.GetById 1ms app.codeStats 0ms

/test/integration/inventario/FacturaAlmacenControllerIntegrationTests.groovy

http://github.com/jdmr/mateo
Groovy | 255 lines | 212 code | 41 blank | 2 comment | 1 complexity | b38bff170d5c6b06d3ce4639db87938b MD5 | raw file
  1package inventario
  2
  3import general.*
  4import grails.test.mixin.*
  5import grails.test.mixin.support.*
  6import org.junit.*
  7
  8@TestFor(FacturaAlmacenController)
  9class FacturaAlmacenControllerIntegrationTests extends BaseIntegrationTest {
 10
 11    def springSecurityService
 12    
 13    @Test
 14    void debieraMostrarListaDeFacturaAlmacen() {
 15        authenticateAdmin()
 16
 17        def organizacion = new Organizacion (
 18            codigo: 'TST1'
 19            , nombre: 'TEST-1'
 20            , nombreCompleto: 'TEST-1'
 21        ).save()
 22
 23        def empresa1 = new Empresa(
 24            codigo: "emp2"
 25            , nombre: "emp"
 26            , nombreCompleto: 'emptest'
 27            , organizacion: organizacion
 28        ).save()
 29        def almacen = new Almacen(
 30            codigo: '222'
 31            , nombre: "almacen1"
 32            , empresa: empresa1
 33        ).save()
 34        assertNotNull almacen
 35
 36        def tipoCliente = new TipoCliente(
 37            nombre: "test"
 38            , empresa: empresa1
 39        ) .save()
 40        assertNotNull tipoCliente
 41
 42        def cliente = new Cliente(
 43            nombre: "Test"
 44            , nombreCompleto: "Test Cliente"
 45            , rfc: "1234567890123"
 46            , empresa: empresa1
 47            , tipoCliente: tipoCliente
 48        ).save()
 49
 50        for(i in 1..20) {
 51            new FacturaAlmacen (
 52            	folio: "folio$i"
 53            	, fecha: new Date()
 54            	, cliente: cliente
 55            	, almacen: almacen
 56            ).save()
 57        }
 58
 59//        def currentUser = springSecurityService.currentUser
 60        def controller = new FacturaAlmacenController()
 61        controller.springSecurityService = springSecurityService
 62        controller.index()
 63        assertEquals '/facturaAlmacen/lista', controller.response.redirectedUrl
 64
 65        def model = controller.lista()
 66        assertNotNull model
 67        assertNotNull model.facturaAlmacenes
 68
 69        assertEquals 10, model.facturaAlmacenes.size()
 70        assert 20 <= model.totalDeFacturaAlmacenes
 71    }
 72
 73    @Test
 74    void debieraCrearFacturaAlmacen() {
 75    	authenticateAdmin()
 76
 77        def organizacion = new Organizacion (
 78            codigo: 'TST1'
 79            , nombre: 'TEST-1'
 80            , nombreCompleto: 'TEST-1'
 81        ).save()
 82
 83        def empresa1 = new Empresa(
 84            codigo: "emp2"
 85            , nombre: "emp"
 86            , nombreCompleto: 'emptest'
 87            , organizacion: organizacion
 88        ).save()
 89        def almacen = new Almacen(
 90            codigo: '222'
 91            , nombre: "almacen1"
 92            , empresa: empresa1
 93        ).save()
 94        assertNotNull almacen
 95
 96        def tipoCliente = new TipoCliente(
 97            nombre: "test"
 98            , empresa: empresa1
 99        ) .save()
100        assertNotNull tipoCliente
101
102        def cliente = new Cliente(
103            nombre: "Test"
104            , nombreCompleto: "Test Cliente"
105            , rfc: "1234567890123"
106            , empresa: empresa1
107            , tipoCliente: tipoCliente
108        ).save()
109
110        def controller = new FacturaAlmacenController()
111        controller.springSecurityService = springSecurityService
112
113        //controller.springSecurityService = springSecurityService
114        def model = controller.nueva()
115        assert model
116        assert model.facturaAlmacen
117
118        controller.params.folio = "folio"
119        controller.params.cliente = cliente
120        controller.params.almacen = almacen
121        controller.params.fecha = new Date()
122        controller.crea()
123
124        assert controller
125
126        assert controller.response.redirectedUrl.startsWith('/facturaAlmacen/ver')
127    }
128
129    @Test
130    void debieraActualizarFacturaAlmacen() {
131        authenticateAdmin()
132
133        def organizacion = new Organizacion (
134            codigo: 'TST1'
135            , nombre: 'TEST-1'
136            , nombreCompleto: 'TEST-1'
137        ).save()
138
139        def empresa1 = new Empresa(
140            codigo: "emp2"
141            , nombre: "emp"
142            , nombreCompleto: 'emptest'
143            , organizacion: organizacion
144        ).save()
145        def almacen = new Almacen(
146            codigo: '222'
147            , nombre: "almacen1"
148            , empresa: empresa1
149        ).save()
150        assertNotNull almacen
151
152        def tipoCliente = new TipoCliente(
153            nombre: "test"
154            , empresa: empresa1
155        ) .save()
156        assertNotNull tipoCliente
157
158        def cliente = new Cliente(
159            nombre: "Test"
160            , nombreCompleto: "Test Cliente"
161            , rfc: "1234567890123"
162            , empresa: empresa1
163            , tipoCliente: tipoCliente
164        ).save()
165
166        def facturaAlmacen = new FacturaAlmacen (
167            folio: "100"
168            , cliente: cliente
169            , almacen: almacen
170            , fecha: new Date()
171        ).save()
172
173        assertNotNull facturaAlmacen
174        def controller = new FacturaAlmacenController()
175        controller.springSecurityService = springSecurityService
176        controller.params.id = facturaAlmacen.id
177        def model = controller.ver()
178        assert model.facturaAlmacen
179        assertEquals "100", model.facturaAlmacen.folio
180
181        controller.params.id = facturaAlmacen.id
182        model = controller.edita()
183        assert model.facturaAlmacen
184        assertEquals cliente, model.facturaAlmacen.cliente
185
186        controller.params.id = facturaAlmacen.id
187        controller.params.version = facturaAlmacen.version
188        controller.params.folio = '10002'
189        controller.params.fecha = new Date()
190        controller.actualiza()
191        assertEquals "/facturaAlmacen/ver/${facturaAlmacen.id}", controller.response.redirectedUrl
192
193        facturaAlmacen.refresh()
194        assertEquals '10002', facturaAlmacen.folio
195    }
196
197    @Test
198    void debieraEliminarFacturaAlmacen() {
199        authenticateAdmin()
200
201        def organizacion = new Organizacion (
202            codigo: 'TST1'
203            , nombre: 'TEST-1'
204            , nombreCompleto: 'TEST-1'
205        ).save()
206
207        def empresa1 = new Empresa(
208            codigo: "emp2"
209            , nombre: "emp"
210            , nombreCompleto: 'emptest'
211            , organizacion: organizacion
212        ).save()
213        def almacen = new Almacen(
214            codigo: '222'
215            , nombre: "almacen1"
216            , empresa: empresa1
217        ).save()
218        assertNotNull almacen
219
220        def tipoCliente = new TipoCliente(
221            nombre: "test"
222            , empresa: empresa1
223        ) .save()
224        assertNotNull tipoCliente
225
226        def cliente = new Cliente(
227            nombre: "Test"
228            , nombreCompleto: "Test Cliente"
229            , rfc: "1234567890123"
230            , empresa: empresa1
231            , tipoCliente: tipoCliente
232        ).save()
233
234        def facturaAlmacen = new FacturaAlmacen (
235            folio: "100"
236            , cliente: cliente
237            , almacen: almacen
238            , fecha: new Date()
239        ).save()
240
241        def controller = new FacturaAlmacenController()
242        controller.springSecurityService = springSecurityService
243        controller.params.id = facturaAlmacen.id
244        def model = controller.ver()
245        assert model.facturaAlmacen
246        assertEquals '100', model.facturaAlmacen.folio
247
248        controller.params.id = facturaAlmacen.id
249        controller.elimina()
250        assertEquals "/facturaAlmacen/lista", controller.response.redirectedUrl
251
252        model = FacturaAlmacen.get(facturaAlmacen.id)
253        assert !model
254    }
255}