diff --git a/test/unit/institution_test.rb b/test/unit/institution_test.rb index 2a35215..04b41aa 100644 --- a/test/unit/institution_test.rb +++ b/test/unit/institution_test.rb @@ -2,15 +2,46 @@ require File.dirname(__FILE__) + '/../../../../test/test_helper' class InstitutionTest < ActiveSupport::TestCase - should "save public institutions without name" do - institution = Institution::new - assert !institution.save - assert institution.errors.full_messages.include? "Name can't be blank" + def setup + community = Community.create(:name => "Simple Public Institution") + + @institution = Institution::new :name=>"Simple Institution" + + @institution.community = community + @institution.community.country = "BR" + @institution.community.state = "DF" + @institution.community.city = "Gama" + end + + should "not save institutions without name" do + @institution.name = nil + assert !@institution.save + assert @institution.errors.full_messages.include? "Name can't be blank" end should "not save if institution has invalid type" do - institution = Institution::new :name => "teste", :type => "Other type" - assert !institution.save - assert institution.errors.full_messages.include? "Type invalid, only public and private institutions are allowed." + @institution.type = "Other type" + assert !@institution.save + assert @institution.errors.full_messages.include? "Type invalid, only public and private institutions are allowed." + end + + should "not save without country" do + @institution.community.country = nil + assert !@institution.save, "Country can't be blank" + assert @institution.errors.full_messages.include? "Country can't be blank" + end + + should "not save without state" do + @institution.community.state = nil + + assert !@institution.save, "State can't be blank" + assert @institution.errors.full_messages.include? "State can't be blank" + end + + should "not save without city" do + @institution.community.city = nil + + assert !@institution.save, "City can't be blank" + assert @institution.errors.full_messages.include? "City can't be blank" end -end \ No newline at end of file +end diff --git a/test/unit/juridical_nature_test.rb b/test/unit/juridical_nature_test.rb new file mode 100644 index 0000000..c026779 --- /dev/null +++ b/test/unit/juridical_nature_test.rb @@ -0,0 +1,44 @@ +require File.dirname(__FILE__) + '/../../../../test/test_helper' + +class JuridicalNatureTest < ActiveSupport::TestCase + def teardown + Institution.destroy_all + end + + should "get public institutions" do + juri_nature = JuridicalNature::new :name=>"Some juri nature" + + assert build_institution("one").save + assert build_institution("two").save + assert build_institution("three").save + + assert juri_nature.public_institutions.count == PublicInstitution.count + end + + should "not get private institutions" do + juri_nature = JuridicalNature::new :name=>"Some juri nature" + + assert build_institution("one", "PrivateInstitution", "00.000.000/0000-00").save + assert build_institution("two","PrivateInstitution", "00.000.000/0000-01").save + assert build_institution("three","PrivateInstitution", "00.000.000/0000-02").save + + assert juri_nature.public_institutions.count == 0 + assert juri_nature.public_institutions.count == PublicInstitution.count + assert juri_nature.public_institutions.count != PrivateInstitution.count + end + + private + + def build_institution name, type="PublicInstitution", cnpj=nil + institution = Institution::new + institution.name = name + institution.type = type + institution.cnpj = cnpj + + if type == "PublicInstitution" + institution.juridical_nature = JuridicalNature.first + end + + institution + end +end diff --git a/test/unit/private_institution_test.rb b/test/unit/private_institution_test.rb index 95760ee..eb6f6ad 100644 --- a/test/unit/private_institution_test.rb +++ b/test/unit/private_institution_test.rb @@ -2,8 +2,13 @@ require File.dirname(__FILE__) + '/../../../../test/test_helper' class PrivateInstitutionTest < ActiveSupport::TestCase def setup + community = Community.create(:name => "Simple Private Institution") @institution = PrivateInstitution::new :name=>"Simple Private Institution", :cnpj=>"00.000.000/0001-00" + @institution.community = community + @institution.community.country = "BR" + @institution.community.state = "DF" + @institution.community.city = "Gama" end should "not save without a cnpj" do @@ -18,8 +23,16 @@ class PrivateInstitutionTest < ActiveSupport::TestCase sec_institution = PrivateInstitution::new :name=>"Another Private Institution", :cnpj=>"00.000.000/0001-00" + sec_institution.community = Community.create(:name => "Another Private Institution") assert !sec_institution.save assert sec_institution.errors.full_messages.include? "Cnpj has already been taken" end -end \ No newline at end of file + + should "save without fantasy name" do + @institution.acronym = nil + @institution.community.save + + assert @institution.save + end +end diff --git a/test/unit/public_institution_test.rb b/test/unit/public_institution_test.rb index ebfdbf3..45e418f 100644 --- a/test/unit/public_institution_test.rb +++ b/test/unit/public_institution_test.rb @@ -4,22 +4,26 @@ class PublicInstitutionTest < ActiveSupport::TestCase def setup govPower = GovernmentalPower.create(:name=>"Some Gov Power") govSphere = GovernmentalSphere.create(:name=>"Some Gov Sphere") + juriNature = JuridicalNature.create(:name => "Some jurid nature") + community = Community.create(:name => "Simple Public Institution") @institution = PublicInstitution::new :name=>"Simple Public Institution", :acronym=>"SPI", - :governmental_power=>govPower, :governmental_sphere=>govSphere + :governmental_power=>govPower, :governmental_sphere=>govSphere, :juridical_nature => juriNature + + @institution.community = community + @institution.community.country = "BR" + @institution.community.state = "DF" + @institution.community.city = "Gama" end should "save without a cnpj" do @institution.cnpj = nil - - assert @institution.save + assert @institution.save end - should "Not save institution without an acronym" do + should "save institution without an acronym" do @institution.acronym = nil - - assert !@institution.save - assert @institution.errors.full_messages.include? "Acronym can't be blank" + assert @institution.save end should "Not save institution without a governmental_power" do @@ -35,4 +39,11 @@ class PublicInstitutionTest < ActiveSupport::TestCase assert !@institution.save assert @institution.errors.full_messages.include? "Governmental sphere can't be blank" end -end \ No newline at end of file + + should "not save institution without juridical nature" do + @institution.juridical_nature = nil + + assert !@institution.save + assert @institution.errors.full_messages.include? "Juridical nature can't be blank" + end +end -- libgit2 0.21.2