institution_test.rb
2.96 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
require File.dirname(__FILE__) + '/../../../../test/test_helper'
require File.dirname(__FILE__) + '/../helpers/plugin_test_helper'
class InstitutionTest < ActiveSupport::TestCase
include PluginTestHelper
def setup
@gov_power = GovernmentalPower.create(:name=>"Some Gov Power")
@gov_sphere = GovernmentalSphere.create(:name=>"Some Gov Sphere")
@juridical_nature = JuridicalNature.create(:name => "Autarquia")
@institution = create_public_institution(
"Ministerio Publico da Uniao",
"MPU",
"BR",
"Distrito Federal",
"Gama",
@juridical_nature,
@gov_power,
@gov_sphere,
"11.222.333/4444-55"
)
end
def teardown
GovernmentalPower.destroy_all
GovernmentalSphere.destroy_all
JuridicalNature.destroy_all
@institution = nil
end
should "not save institutions without name" do
@institution.name = nil
assert_equal false, @institution.save
assert_equal true, @institution.errors.messages.keys.include?(:name)
end
should "not save if institution has invalid type" do
invalid_msg = "Type invalid, only public and private institutions are allowed."
@institution.type = "Other type"
assert_equal false, @institution.save
assert_equal true, @institution.errors.messages.keys.include?(:type)
end
should "not save without country" do
@institution.community.country = nil
assert_equal false, @institution.save
assert_equal true, @institution.errors.messages.keys.include?(:country)
end
should "not save without state" do
@institution.community.state = nil
assert_equal false, @institution.save
assert_equal true, @institution.errors.messages.keys.include?(:state)
end
should "not save without city" do
@institution.community.city = nil
@institution.community.state = "DF"
assert_equal false, @institution.save
assert_equal true, @institution.errors.messages.keys.include?(:city)
end
should "only return institutions of a specific environment" do
env1 = Environment.create(:name => "Environment One")
env2 = Environment.create(:name => "Environment Two")
env1.communities << @institution.community
search_result_env1 = Institution.search_institution("Ministerio", env1).collect{ |i| i.id }
search_result_env2 = Institution.search_institution("Ministerio", env2).collect{ |i| i.id }
assert_includes search_result_env1, @institution.id
assert_not_includes search_result_env2, @institution.id
end
should "not save if siorg_code is not a number" do
@institution.siorg_code = "not a number"
assert_equal false, @institution.save
@institution.siorg_code = "1111111"
assert_equal true, @institution.save
end
should "validate siorg_code if it is blank" do
@institution.siorg_code = ""
assert_equal true, @institution.save
end
end