From 82748c1c6f34855c22e09bb10ad96be0b0172d53 Mon Sep 17 00:00:00 2001 From: Fabio Teixeira Date: Wed, 15 Jul 2015 10:08:44 -0300 Subject: [PATCH] Replace institution_id from community_rating to comment --- db/migrate/20150714123613_add_institution_to_comments.rb | 11 +++++++++++ db/migrate/20150714123613_add_institution_to_community_rating.rb | 11 ----------- lib/ext/comment.rb | 18 ++++++++++++++++++ lib/ext/community_rating.rb | 18 ------------------ lib/institution.rb | 4 +--- test/unit/comment_test.rb | 37 +++++++++++++++++++++++++++++++++++++ test/unit/community_rating_test.rb | 37 ------------------------------------- views/comments_extra_field.html.erb | 2 +- 8 files changed, 68 insertions(+), 70 deletions(-) create mode 100644 db/migrate/20150714123613_add_institution_to_comments.rb delete mode 100644 db/migrate/20150714123613_add_institution_to_community_rating.rb create mode 100644 lib/ext/comment.rb delete mode 100644 lib/ext/community_rating.rb create mode 100644 test/unit/comment_test.rb delete mode 100644 test/unit/community_rating_test.rb diff --git a/db/migrate/20150714123613_add_institution_to_comments.rb b/db/migrate/20150714123613_add_institution_to_comments.rb new file mode 100644 index 0000000..79b3bd0 --- /dev/null +++ b/db/migrate/20150714123613_add_institution_to_comments.rb @@ -0,0 +1,11 @@ +class AddInstitutionToComments < ActiveRecord::Migration + def up + change_table :comments do |t| + t.belongs_to :institution + end + end + + def down + remove_column :comments, :institution_id + end +end diff --git a/db/migrate/20150714123613_add_institution_to_community_rating.rb b/db/migrate/20150714123613_add_institution_to_community_rating.rb deleted file mode 100644 index 88554f5..0000000 --- a/db/migrate/20150714123613_add_institution_to_community_rating.rb +++ /dev/null @@ -1,11 +0,0 @@ -class AddInstitutionToCommunityRating < ActiveRecord::Migration - def up - change_table :community_ratings do |t| - t.belongs_to :institution - end - end - - def down - remove_column :community_ratings, :institution_id - end -end diff --git a/lib/ext/comment.rb b/lib/ext/comment.rb new file mode 100644 index 0000000..d952001 --- /dev/null +++ b/lib/ext/comment.rb @@ -0,0 +1,18 @@ +require_dependency "comment" + +Comment.class_eval do + attr_accessible :institution_id + + belongs_to :institution + + validate :verify_institution + + private + + def verify_institution + if self.institution_id != nil + institution = Institution.find_by_id self.institution_id + self.errors.add :institution, _("not found") unless institution + end + end +end diff --git a/lib/ext/community_rating.rb b/lib/ext/community_rating.rb deleted file mode 100644 index 78e78ac..0000000 --- a/lib/ext/community_rating.rb +++ /dev/null @@ -1,18 +0,0 @@ -require_dependency "community_rating" - -CommunityRating.class_eval do - attr_accessible :institution_id - - belongs_to :institution - - validate :verify_institution - - private - - def verify_institution - if self.institution_id != nil - institution = Institution.find_by_id self.institution_id - self.errors.add :institution, _("not found") unless institution - end - end -end diff --git a/lib/institution.rb b/lib/institution.rb index 4145de1..9477717 100644 --- a/lib/institution.rb +++ b/lib/institution.rb @@ -1,7 +1,5 @@ class Institution < ActiveRecord::Base - has_many :community_ratings - alias :communities_ratings :community_ratings - alias :communities_ratings= :community_ratings= + has_many :comments SEARCH_FILTERS = { :order => %w[], diff --git a/test/unit/comment_test.rb b/test/unit/comment_test.rb new file mode 100644 index 0000000..8503960 --- /dev/null +++ b/test/unit/comment_test.rb @@ -0,0 +1,37 @@ +require File.dirname(__FILE__) + '/../../../../test/test_helper' +require File.dirname(__FILE__) + '/../helpers/plugin_test_helper' + +class CommentTest < ActiveSupport::TestCase + include PluginTestHelper + + should "validate institution if there an institution_id" do + private_institution = build_private_institution "huehue", "hue", "11.222.333/4444-55" + + assert_equal true, private_institution.save + + comment = Comment.new :institution_id => 123456, :body => "simple body" + comment.valid? + + assert_equal true, comment.errors[:institution].include?("not found") + + comment.institution = private_institution + comment.valid? + + assert_equal false, comment.errors[:institution].include?("not found") + end + + private + + def build_private_institution name, corporate_name, cnpj, country="AR" + community = Community.new :name => name + community.country = country + + institution = PrivateInstitution.new :name=> name + institution.corporate_name = corporate_name + institution.cnpj = cnpj + institution.community = community + + institution + end +end + diff --git a/test/unit/community_rating_test.rb b/test/unit/community_rating_test.rb deleted file mode 100644 index 89e0e10..0000000 --- a/test/unit/community_rating_test.rb +++ /dev/null @@ -1,37 +0,0 @@ -require File.dirname(__FILE__) + '/../../../../test/test_helper' -require File.dirname(__FILE__) + '/../helpers/plugin_test_helper' - -class CommunityRatingTest < ActiveSupport::TestCase - include PluginTestHelper - - should "validate institution if there an institution_id" do - private_institution = build_private_institution "huehue", "hue", "11.222.333/4444-55" - - assert_equal true, private_institution.save - - rating = CommunityRating.new :institution_id => 123456 - rating.valid? - - assert_equal true, rating.errors[:institution].include?("not found") - - rating.institution = private_institution - rating.valid? - - assert_equal false, rating.errors[:institution].include?("not found") - end - - private - - def build_private_institution name, corporate_name, cnpj, country="AR" - community = Community.new :name => name - community.country = country - - institution = PrivateInstitution.new :name=> name - institution.corporate_name = corporate_name - institution.cnpj = cnpj - institution.community = community - - institution - end -end - diff --git a/views/comments_extra_field.html.erb b/views/comments_extra_field.html.erb index 7d29ac2..71419c8 100644 --- a/views/comments_extra_field.html.erb +++ b/views/comments_extra_field.html.erb @@ -6,5 +6,5 @@ <%= content_tag(:div, _("No institution found"), :id=>"institution_empty_ajax_message", :class=>"errorExplanation hide-field") %> - <%= hidden_field_tag "community_rating[institution_id]", "", id: "institution_selected" %> + <%= hidden_field_tag "comments[institution_id]", "", id: "institution_selected" %> -- libgit2 0.21.2