Commit 907b6b10aa13028d10ac44b77f6bf8e9db4a86f4

Authored by Luciano Prestes
1 parent 0c221480

Fix CommunityRating institution field bug and his tests

Signed-off-by: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>
Signed-off-by: Simiao Carvalho <simiaosimis@gmail.com>
lib/ext/community_rating.rb
1 require_dependency "community_rating" 1 require_dependency "community_rating"
2 2
3 CommunityRating.class_eval do 3 CommunityRating.class_eval do
4 - attr_accessible :institution_id  
5 4
6 belongs_to :institution 5 belongs_to :institution
7 6
  7 + attr_accessible :institution, :institution_id
  8 +
8 validate :verify_institution 9 validate :verify_institution
9 10
10 private 11 private
11 12
12 - def verify_institution  
13 - if self.institution_id != nil  
14 - institution = Institution.find_by_id self.institution_id  
15 - self.errors.add :institution, _("not found") unless institution  
16 - end 13 + def verify_institution
  14 + if self.institution != nil
  15 + institution = Institution.find_by_id self.institution.id
  16 + self.errors.add :institution, _("not found") unless institution
17 end 17 end
  18 + end
18 end 19 end
test/unit/comment_test.rb
@@ -1,37 +0,0 @@ @@ -1,37 +0,0 @@
1 -require File.dirname(__FILE__) + '/../../../../test/test_helper'  
2 -require File.dirname(__FILE__) + '/../helpers/plugin_test_helper'  
3 -  
4 -class CommentTest < ActiveSupport::TestCase  
5 - include PluginTestHelper  
6 -  
7 - should "validate institution if there an institution_id" do  
8 - private_institution = build_private_institution "huehue", "hue", "11.222.333/4444-55"  
9 -  
10 - assert_equal true, private_institution.save  
11 -  
12 - comment = Comment.new :institution_id => 123456, :body => "simple body"  
13 - comment.valid?  
14 -  
15 - assert_equal true, comment.errors[:institution].include?("not found")  
16 -  
17 - comment.institution = private_institution  
18 - comment.valid?  
19 -  
20 - assert_equal false, comment.errors[:institution].include?("not found")  
21 - end  
22 -  
23 - private  
24 -  
25 - def build_private_institution name, corporate_name, cnpj, country="AR"  
26 - community = Community.new :name => name  
27 - community.country = country  
28 -  
29 - institution = PrivateInstitution.new :name=> name  
30 - institution.corporate_name = corporate_name  
31 - institution.cnpj = cnpj  
32 - institution.community = community  
33 -  
34 - institution  
35 - end  
36 -end  
37 -  
test/unit/community_rating_test.rb 0 → 100644
@@ -0,0 +1,38 @@ @@ -0,0 +1,38 @@
  1 +require File.dirname(__FILE__) + '/../../../../test/test_helper'
  2 +require File.dirname(__FILE__) + '/../helpers/plugin_test_helper'
  3 +
  4 +class CommunityRatingTest < ActiveSupport::TestCase
  5 + include PluginTestHelper
  6 +
  7 + should "validate institution if there an institution_id" do
  8 + community = fast_create(Community)
  9 + private_institution = build_private_institution "huehue", "hue", "11.222.333/4444-55"
  10 +
  11 + community_rating = CommunityRating.new(:value => 3, :community => community, :institution => private_institution)
  12 + community_rating.valid?
  13 +
  14 + assert_equal true, community_rating.errors[:institution].include?("not found")
  15 +
  16 + private_institution.save
  17 +
  18 + community_rating.institution = private_institution
  19 + community_rating.valid?
  20 +
  21 + assert_equal false, community_rating.errors[:institution].include?("not found")
  22 + end
  23 +
  24 + private
  25 +
  26 + def build_private_institution name, corporate_name, cnpj, country="AR"
  27 + community = Community.new :name => name
  28 + community.country = country
  29 +
  30 + institution = PrivateInstitution.new :name=> name
  31 + institution.corporate_name = corporate_name
  32 + institution.cnpj = cnpj
  33 + institution.community = community
  34 +
  35 + institution
  36 + end
  37 +end
  38 +