PageRenderTime 87ms CodeModel.GetById 35ms app.highlight 13ms RepoModel.GetById 37ms app.codeStats 0ms

/test/integration/inventario/FolioInventarioControllerIntegrationTests.groovy

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