PageRenderTime 374ms CodeModel.GetById 121ms app.highlight 12ms RepoModel.GetById 139ms app.codeStats 0ms

/test/integration/inventario/AlmacenControllerIntegrationTests.groovy

http://github.com/jdmr/mateo
Groovy | 167 lines | 137 code | 30 blank | 0 comment | 1 complexity | faa3c97e029cde9df546f03e45e8b6ff MD5 | raw file
  1package inventario
  2
  3import general.*
  4
  5import grails.test.*
  6import grails.test.mixin.*
  7import org.junit.*
  8
  9@TestFor(AlmacenController)
 10class AlmacenControllerIntegrationTests extends BaseIntegrationTest {
 11
 12    def springSecurityService
 13
 14    @Test
 15    void debieraMostrarListaDeAlmacenes() {
 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
 30        def currentUser = springSecurityService.currentUser
 31        currentUser.empresa = empresa
 32
 33        for(i in 1..20) {
 34            new Almacen (
 35                codigo: "TEST-$i"
 36                , nombre: "TEST-$i"
 37                , empresa : empresa
 38            ).save()
 39        }
 40
 41        def controller = new AlmacenController()
 42        controller.springSecurityService = springSecurityService
 43        controller.index()
 44        assertEquals '/almacen/lista', controller.response.redirectedUrl
 45
 46        def model = controller.lista()
 47        assertEquals 10, model.almacenes.size()
 48        assert 20 <= model.totalDeAlmacenes
 49    }
 50
 51    @Test
 52    void debieraCrearAlmacen() {
 53        authenticateAdmin()
 54
 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
 67        def currentUser = springSecurityService.currentUser
 68        currentUser.empresa = empresa
 69
 70        def controller = new AlmacenController()
 71        controller.springSecurityService = springSecurityService
 72        def model = controller.nuevo()
 73        assert model.almacen
 74
 75        controller.params.codigo = 'TEST-1'
 76        controller.params.nombre = 'TEST-1'
 77        controller.crea()
 78        assert controller.response.redirectedUrl.startsWith('/almacen/ver')
 79    }
 80
 81    @Test
 82    void debieraActualizarAlmacen() {
 83        authenticateAdmin()
 84
 85        def organizacion = new Organizacion (
 86            codigo: 'TST1'
 87            , nombre: 'TEST-1'
 88            , nombreCompleto: 'TEST-1'
 89        ).save()
 90        def empresa = new Empresa (
 91            codigo: 'TST1'
 92            , nombre: 'TEST-1'
 93            , nombreCompleto: 'TEST-1'
 94            , organizacion: organizacion
 95        ).save()
 96
 97        def currentUser = springSecurityService.currentUser
 98        currentUser.empresa = empresa
 99
100        def almacen = new Almacen (
101            codigo: "TST-1"
102            , nombre: "TEST-1"
103            , empresa : empresa
104        ).save()
105
106        def controller = new AlmacenController()
107        controller.springSecurityService = springSecurityService
108        controller.params.id = almacen.id
109        def model = controller.ver()
110        assert model.almacen
111        assertEquals 'TST-1', model.almacen.codigo
112
113        controller.params.id = almacen.id
114        model = controller.edita()
115        assert model.almacen
116        assertEquals 'TST-1', model.almacen.codigo
117
118        controller.params.id = almacen.id
119        controller.params.version = almacen.version
120        controller.params.codigo = 'TST-2'
121        controller.actualiza()
122        assertEquals "/almacen/ver/${almacen.id}", controller.response.redirectedUrl
123
124        almacen.refresh()
125        assertEquals 'TST-2', almacen.codigo
126    }
127
128    @Test
129    void debieraEliminarAlmacen() {
130        authenticateAdmin()
131
132        def organizacion = new Organizacion (
133            codigo: 'TST1'
134            , nombre: 'TEST-1'
135            , nombreCompleto: 'TEST-1'
136        ).save()
137        def empresa = new Empresa (
138            codigo: 'TST1'
139            , nombre: 'TEST-1'
140            , nombreCompleto: 'TEST-1'
141            , organizacion: organizacion
142        ).save()
143
144        def currentUser = springSecurityService.currentUser
145        currentUser.empresa = empresa
146
147        def almacen = new Almacen (
148            codigo: "TST-2"
149            , nombre: "TEST-1"
150            , empresa : empresa
151        ).save()
152
153        def controller = new AlmacenController()
154        controller.springSecurityService = springSecurityService
155        controller.params.id = almacen.id
156        def model = controller.ver()
157        assert model.almacen
158        assertEquals 'TST-2', model.almacen.codigo
159
160        controller.params.id = almacen.id
161        controller.elimina()
162        assertEquals "/almacen/lista", controller.response.redirectedUrl
163
164        model = Almacen.get(almacen.id)
165        assert !model
166    }
167}