PageRenderTime 58ms CodeModel.GetById 25ms RepoModel.GetById 0ms app.codeStats 0ms

/test/integration/general/EmpresaControllerIntegrationTests.groovy

http://github.com/jdmr/mateo
Groovy | 147 lines | 124 code | 23 blank | 0 comment | 2 complexity | 44f5ad2bf9ec490ae34a4adb0cc86323 MD5 | raw file
  1. package general
  2. import grails.test.*
  3. import grails.test.mixin.*
  4. import org.junit.*
  5. @TestFor(EmpresaController)
  6. class EmpresaControllerIntegrationTests extends BaseIntegrationTest {
  7. def springSecurityService
  8. @Test
  9. void debieraMostrarListaDeEmpresas() {
  10. authenticateAdmin()
  11. def organizacion = new Organizacion (
  12. codigo: 'TST1'
  13. , nombre: 'TEST-1'
  14. , nombreCompleto: 'TEST-1'
  15. ).save()
  16. def currentUser = springSecurityService.currentUser
  17. def flag = true
  18. for(i in 1..20) {
  19. def empresa = new Empresa (
  20. codigo: "TST$i"
  21. , nombre: "TEST-$i"
  22. , nombreCompleto: "TEST$i"
  23. , organizacion: organizacion
  24. ).save()
  25. if (flag) {
  26. currentUser.empresa = empresa
  27. flag = false
  28. }
  29. }
  30. def controller = new EmpresaController()
  31. controller.springSecurityService = springSecurityService
  32. controller.index()
  33. assertEquals '/empresa/lista', controller.response.redirectedUrl
  34. def model = controller.lista()
  35. assertEquals 10, model.empresas.size()
  36. assert 20 <= model.totalDeEmpresas
  37. }
  38. @Test
  39. void debieraCrearEmpresa() {
  40. authenticateAdmin()
  41. def organizacion = new Organizacion (
  42. codigo: 'TST1'
  43. , nombre: 'TEST-1'
  44. , nombreCompleto: 'TEST-1'
  45. ).save()
  46. def controller = new EmpresaController()
  47. controller.springSecurityService = springSecurityService
  48. def model = controller.nueva()
  49. assert model.empresa
  50. controller.params.codigo = 'TST-1'
  51. controller.params.nombre = "TEST-1"
  52. controller.params.nombreCompleto = "TEST-1"
  53. controller.crea()
  54. assert controller.response.redirectedUrl.startsWith('/empresa/ver')
  55. }
  56. @Test
  57. void debieraActualizarEmpresa() {
  58. authenticateAdmin()
  59. def organizacion = new Organizacion (
  60. codigo: 'TST1'
  61. , nombre: 'TEST-1'
  62. , nombreCompleto: 'TEST-1'
  63. ).save()
  64. def empresa = new Empresa (
  65. codigo: 'TST1'
  66. , nombre: 'TEST-1'
  67. , nombreCompleto: 'TEST-1'
  68. , organizacion: organizacion
  69. ).save()
  70. def usuario = springSecurityService.currentUser
  71. usuario.empresa = empresa
  72. def controller = new EmpresaController()
  73. controller.springSecurityService = springSecurityService
  74. controller.params.id = empresa.id
  75. def model = controller.ver()
  76. assert model.empresa
  77. assertEquals 'TEST-1', model.empresa.nombre
  78. controller.params.id = empresa.id
  79. model = controller.edita()
  80. assert model.empresa
  81. assertEquals 'TEST-1', model.empresa.nombre
  82. controller.params.id = empresa.id
  83. controller.params.version = empresa.version
  84. controller.params.nombre = 'TEST-2'
  85. controller.actualiza()
  86. assertEquals "/empresa/ver/${empresa.id}", controller.response.redirectedUrl
  87. empresa.refresh()
  88. assertEquals 'TEST-2', empresa.nombre
  89. }
  90. @Test
  91. void debieraEliminarEmpresa() {
  92. authenticateAdmin()
  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. new Empresa (
  105. codigo: 'TST2'
  106. , nombre: 'TEST-2'
  107. , nombreCompleto: 'TEST-2'
  108. , organizacion: organizacion
  109. ).save()
  110. def currentUser = springSecurityService.currentUser
  111. currentUser.empresa = empresa
  112. def controller = new EmpresaController()
  113. controller.springSecurityService = springSecurityService
  114. controller.params.id = empresa.id
  115. def model = controller.ver()
  116. assert model.empresa
  117. assertEquals 'TEST-1', model.empresa.nombre
  118. controller.params.id = empresa.id
  119. controller.elimina()
  120. assertEquals "/empresa/lista", controller.response.redirectedUrl
  121. model = Empresa.get(empresa.id)
  122. assert !model
  123. }
  124. }