/test/integration/inventario/AlmacenControllerIntegrationTests.groovy
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}