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