Commit e221f5f14b24a39d58d5bf3327897a21bd43acb4
1 parent
4fe7ff1b
Exists in
master
and in
5 other branches
Fix view cpnj validation and add funcional tests
Signed-off-by: Gustavo Jaruga <darksshades@gmail.com> Signed-off-by: Parley Martins <parley@outlook.com>
Showing
2 changed files
with
48 additions
and
0 deletions
Show diff stats
controllers/mpog_software_plugin_controller.rb
| ... | ... | @@ -173,6 +173,7 @@ class MpogSoftwarePluginController < ApplicationController |
| 173 | 173 | |
| 174 | 174 | if institution.cnpj.nil? or institution.cnpj.blank? |
| 175 | 175 | institution.errors.add(:cnpj, _("can't be blank")) |
| 176 | + return institution | |
| 176 | 177 | end |
| 177 | 178 | |
| 178 | 179 | InstitutionHelper.register_institution_modification institution | ... | ... |
test/functional/mpog_software_plugin_controller_test.rb
| ... | ... | @@ -72,6 +72,36 @@ class MpogSoftwarePluginControllerTest < ActionController::TestCase |
| 72 | 72 | assert json_response["success"] |
| 73 | 73 | end |
| 74 | 74 | |
| 75 | + should "create more than one institution without acronym" do | |
| 76 | + @controller.stubs(:verify_recaptcha).returns(true) | |
| 77 | + | |
| 78 | + xhr :get, :new_institution, | |
| 79 | + :authenticity_token=>"dsa45a6das52sd", | |
| 80 | + :name => "foo bar", | |
| 81 | + :community=>{:name=>"foo bar", :country => "BR", :state => "DF", :city => "Brasilia"}, | |
| 82 | + :governmental=>{:power=>@govPower.id, :sphere=>@govSphere.id}, | |
| 83 | + :juridical => {:nature => @juridical_nature.id}, | |
| 84 | + :institution => {:cnpj=>"12.234.567/8900-10", :acronym=>"", :type=>"PublicInstitution"}, | |
| 85 | + :recaptcha_response_field=>'' | |
| 86 | + | |
| 87 | + json_response = ActiveSupport::JSON.decode(@response.body) | |
| 88 | + | |
| 89 | + assert json_response["success"] | |
| 90 | + | |
| 91 | + xhr :get, :new_institution, | |
| 92 | + :authenticity_token=>"dsa45a6das52sd", | |
| 93 | + :name => "foo bar 2", | |
| 94 | + :community=>{:name=>"foo bar 2", :country => "BR", :state => "DF", :city => "Brasilia"}, | |
| 95 | + :governmental=>{:power=>@govPower.id, :sphere=>@govSphere.id}, | |
| 96 | + :juridical => {:nature => @juridical_nature.id}, | |
| 97 | + :institution => {:cnpj=>"12.224.567/8900-10", :acronym=>"", :type=>"PublicInstitution"}, | |
| 98 | + :recaptcha_response_field=>'' | |
| 99 | + | |
| 100 | + json_response = ActiveSupport::JSON.decode(@response.body) | |
| 101 | + | |
| 102 | + assert json_response["success"] | |
| 103 | + end | |
| 104 | + | |
| 75 | 105 | should "not create a institution that already exists" do |
| 76 | 106 | @controller.stubs(:verify_recaptcha).returns(true) |
| 77 | 107 | |
| ... | ... | @@ -89,6 +119,23 @@ class MpogSoftwarePluginControllerTest < ActionController::TestCase |
| 89 | 119 | assert !json_response["success"] |
| 90 | 120 | end |
| 91 | 121 | |
| 122 | + should "not create a institution without cnpj" do | |
| 123 | + @controller.stubs(:verify_recaptcha).returns(true) | |
| 124 | + | |
| 125 | + xhr :get, :new_institution, | |
| 126 | + :authenticity_token=>"dsa45a6das52sd", | |
| 127 | + :name => "Ministerio Publico da Uniao", | |
| 128 | + :community=>{:name=>"Ministerio Publico da Uniao", :country => "BR", :state => "DF", :city => "Brasilia"}, | |
| 129 | + :governmental=>{:power=>@govPower.id, :sphere=>@govSphere.id}, | |
| 130 | + :juridical => {:nature => @juridical_nature.id}, | |
| 131 | + :institution => {:cnpj=> "", :acronym=>"fb", :type=>"PublicInstitution"}, | |
| 132 | + :recaptcha_response_field=>'' | |
| 133 | + | |
| 134 | + json_response = ActiveSupport::JSON.decode(@response.body) | |
| 135 | + | |
| 136 | + assert !json_response["success"] | |
| 137 | + end | |
| 138 | + | |
| 92 | 139 | should "verify if institution name already exists" do |
| 93 | 140 | xhr :get, :institution_already_exists, :name=>"Ministerio Publico da Uniao" |
| 94 | 141 | assert_equal "true", @response.body | ... | ... |