Commit a04fdedc7dc028ef4aa763fd404c1b9a73c0ffde
Committed by
Arthur Esposte
1 parent
2ef130ea
Exists in
master
and in
5 other branches
Add test for new institution fields.
Signed-off-by: Gabriela Navarro <navarro1703@gmail.com> Signed-off-by: Parley Martins <parley@outlook.com>
Showing
4 changed files
with
116 additions
and
17 deletions
Show diff stats
test/unit/institution_test.rb
| ... | ... | @@ -2,15 +2,46 @@ require File.dirname(__FILE__) + '/../../../../test/test_helper' |
| 2 | 2 | |
| 3 | 3 | class InstitutionTest < ActiveSupport::TestCase |
| 4 | 4 | |
| 5 | - should "save public institutions without name" do | |
| 6 | - institution = Institution::new | |
| 7 | - assert !institution.save | |
| 8 | - assert institution.errors.full_messages.include? "Name can't be blank" | |
| 5 | + def setup | |
| 6 | + community = Community.create(:name => "Simple Public Institution") | |
| 7 | + | |
| 8 | + @institution = Institution::new :name=>"Simple Institution" | |
| 9 | + | |
| 10 | + @institution.community = community | |
| 11 | + @institution.community.country = "BR" | |
| 12 | + @institution.community.state = "DF" | |
| 13 | + @institution.community.city = "Gama" | |
| 14 | + end | |
| 15 | + | |
| 16 | + should "not save institutions without name" do | |
| 17 | + @institution.name = nil | |
| 18 | + assert !@institution.save | |
| 19 | + assert @institution.errors.full_messages.include? "Name can't be blank" | |
| 9 | 20 | end |
| 10 | 21 | |
| 11 | 22 | should "not save if institution has invalid type" do |
| 12 | - institution = Institution::new :name => "teste", :type => "Other type" | |
| 13 | - assert !institution.save | |
| 14 | - assert institution.errors.full_messages.include? "Type invalid, only public and private institutions are allowed." | |
| 23 | + @institution.type = "Other type" | |
| 24 | + assert !@institution.save | |
| 25 | + assert @institution.errors.full_messages.include? "Type invalid, only public and private institutions are allowed." | |
| 26 | + end | |
| 27 | + | |
| 28 | + should "not save without country" do | |
| 29 | + @institution.community.country = nil | |
| 30 | + assert !@institution.save, "Country can't be blank" | |
| 31 | + assert @institution.errors.full_messages.include? "Country can't be blank" | |
| 32 | + end | |
| 33 | + | |
| 34 | + should "not save without state" do | |
| 35 | + @institution.community.state = nil | |
| 36 | + | |
| 37 | + assert !@institution.save, "State can't be blank" | |
| 38 | + assert @institution.errors.full_messages.include? "State can't be blank" | |
| 39 | + end | |
| 40 | + | |
| 41 | + should "not save without city" do | |
| 42 | + @institution.community.city = nil | |
| 43 | + | |
| 44 | + assert !@institution.save, "City can't be blank" | |
| 45 | + assert @institution.errors.full_messages.include? "City can't be blank" | |
| 15 | 46 | end |
| 16 | -end | |
| 17 | 47 | \ No newline at end of file |
| 48 | +end | ... | ... |
| ... | ... | @@ -0,0 +1,44 @@ |
| 1 | +require File.dirname(__FILE__) + '/../../../../test/test_helper' | |
| 2 | + | |
| 3 | +class JuridicalNatureTest < ActiveSupport::TestCase | |
| 4 | + def teardown | |
| 5 | + Institution.destroy_all | |
| 6 | + end | |
| 7 | + | |
| 8 | + should "get public institutions" do | |
| 9 | + juri_nature = JuridicalNature::new :name=>"Some juri nature" | |
| 10 | + | |
| 11 | + assert build_institution("one").save | |
| 12 | + assert build_institution("two").save | |
| 13 | + assert build_institution("three").save | |
| 14 | + | |
| 15 | + assert juri_nature.public_institutions.count == PublicInstitution.count | |
| 16 | + end | |
| 17 | + | |
| 18 | + should "not get private institutions" do | |
| 19 | + juri_nature = JuridicalNature::new :name=>"Some juri nature" | |
| 20 | + | |
| 21 | + assert build_institution("one", "PrivateInstitution", "00.000.000/0000-00").save | |
| 22 | + assert build_institution("two","PrivateInstitution", "00.000.000/0000-01").save | |
| 23 | + assert build_institution("three","PrivateInstitution", "00.000.000/0000-02").save | |
| 24 | + | |
| 25 | + assert juri_nature.public_institutions.count == 0 | |
| 26 | + assert juri_nature.public_institutions.count == PublicInstitution.count | |
| 27 | + assert juri_nature.public_institutions.count != PrivateInstitution.count | |
| 28 | + end | |
| 29 | + | |
| 30 | + private | |
| 31 | + | |
| 32 | + def build_institution name, type="PublicInstitution", cnpj=nil | |
| 33 | + institution = Institution::new | |
| 34 | + institution.name = name | |
| 35 | + institution.type = type | |
| 36 | + institution.cnpj = cnpj | |
| 37 | + | |
| 38 | + if type == "PublicInstitution" | |
| 39 | + institution.juridical_nature = JuridicalNature.first | |
| 40 | + end | |
| 41 | + | |
| 42 | + institution | |
| 43 | + end | |
| 44 | +end | ... | ... |
test/unit/private_institution_test.rb
| ... | ... | @@ -2,8 +2,13 @@ require File.dirname(__FILE__) + '/../../../../test/test_helper' |
| 2 | 2 | |
| 3 | 3 | class PrivateInstitutionTest < ActiveSupport::TestCase |
| 4 | 4 | def setup |
| 5 | + community = Community.create(:name => "Simple Private Institution") | |
| 5 | 6 | @institution = PrivateInstitution::new :name=>"Simple Private Institution", |
| 6 | 7 | :cnpj=>"00.000.000/0001-00" |
| 8 | + @institution.community = community | |
| 9 | + @institution.community.country = "BR" | |
| 10 | + @institution.community.state = "DF" | |
| 11 | + @institution.community.city = "Gama" | |
| 7 | 12 | end |
| 8 | 13 | |
| 9 | 14 | should "not save without a cnpj" do |
| ... | ... | @@ -18,8 +23,16 @@ class PrivateInstitutionTest < ActiveSupport::TestCase |
| 18 | 23 | |
| 19 | 24 | sec_institution = PrivateInstitution::new :name=>"Another Private Institution", |
| 20 | 25 | :cnpj=>"00.000.000/0001-00" |
| 26 | + sec_institution.community = Community.create(:name => "Another Private Institution") | |
| 21 | 27 | |
| 22 | 28 | assert !sec_institution.save |
| 23 | 29 | assert sec_institution.errors.full_messages.include? "Cnpj has already been taken" |
| 24 | 30 | end |
| 25 | -end | |
| 26 | 31 | \ No newline at end of file |
| 32 | + | |
| 33 | + should "save without fantasy name" do | |
| 34 | + @institution.acronym = nil | |
| 35 | + @institution.community.save | |
| 36 | + | |
| 37 | + assert @institution.save | |
| 38 | + end | |
| 39 | +end | ... | ... |
test/unit/public_institution_test.rb
| ... | ... | @@ -4,22 +4,26 @@ class PublicInstitutionTest < ActiveSupport::TestCase |
| 4 | 4 | def setup |
| 5 | 5 | govPower = GovernmentalPower.create(:name=>"Some Gov Power") |
| 6 | 6 | govSphere = GovernmentalSphere.create(:name=>"Some Gov Sphere") |
| 7 | + juriNature = JuridicalNature.create(:name => "Some jurid nature") | |
| 8 | + community = Community.create(:name => "Simple Public Institution") | |
| 7 | 9 | |
| 8 | 10 | @institution = PublicInstitution::new :name=>"Simple Public Institution", :acronym=>"SPI", |
| 9 | - :governmental_power=>govPower, :governmental_sphere=>govSphere | |
| 11 | + :governmental_power=>govPower, :governmental_sphere=>govSphere, :juridical_nature => juriNature | |
| 12 | + | |
| 13 | + @institution.community = community | |
| 14 | + @institution.community.country = "BR" | |
| 15 | + @institution.community.state = "DF" | |
| 16 | + @institution.community.city = "Gama" | |
| 10 | 17 | end |
| 11 | 18 | |
| 12 | 19 | should "save without a cnpj" do |
| 13 | 20 | @institution.cnpj = nil |
| 14 | - | |
| 15 | - assert @institution.save | |
| 21 | + assert @institution.save | |
| 16 | 22 | end |
| 17 | 23 | |
| 18 | - should "Not save institution without an acronym" do | |
| 24 | + should "save institution without an acronym" do | |
| 19 | 25 | @institution.acronym = nil |
| 20 | - | |
| 21 | - assert !@institution.save | |
| 22 | - assert @institution.errors.full_messages.include? "Acronym can't be blank" | |
| 26 | + assert @institution.save | |
| 23 | 27 | end |
| 24 | 28 | |
| 25 | 29 | should "Not save institution without a governmental_power" do |
| ... | ... | @@ -35,4 +39,11 @@ class PublicInstitutionTest < ActiveSupport::TestCase |
| 35 | 39 | assert !@institution.save |
| 36 | 40 | assert @institution.errors.full_messages.include? "Governmental sphere can't be blank" |
| 37 | 41 | end |
| 38 | -end | |
| 39 | 42 | \ No newline at end of file |
| 43 | + | |
| 44 | + should "not save institution without juridical nature" do | |
| 45 | + @institution.juridical_nature = nil | |
| 46 | + | |
| 47 | + assert !@institution.save | |
| 48 | + assert @institution.errors.full_messages.include? "Juridical nature can't be blank" | |
| 49 | + end | |
| 50 | +end | ... | ... |