From d6340a1464f256f73285a68f0f12d768cc89638e Mon Sep 17 00:00:00 2001 From: Braulio Bhavamitra Date: Sat, 1 Aug 2015 20:09:38 -0300 Subject: [PATCH] rails4: fix plugins tests --- plugins/analytics/lib/analytics_plugin/base.rb | 4 +--- plugins/analytics/test/functional/content_viewer_controller_test.rb | 2 +- plugins/recent_content/lib/recent_content_block.rb | 2 +- plugins/relevant_content/lib/ext/article.rb | 2 +- plugins/shopping_cart/controllers/shopping_cart_plugin_controller.rb | 8 +++++--- plugins/shopping_cart/lib/shopping_cart_plugin/purchase_order.rb | 2 +- plugins/shopping_cart/test/functional/shopping_cart_plugin_controller_test.rb | 8 ++++++-- plugins/sniffer/controllers/sniffer_plugin_myprofile_controller.rb | 2 +- plugins/sniffer/test/integration/sniffer_map_test.rb | 15 +++++++++------ 9 files changed, 26 insertions(+), 19 deletions(-) diff --git a/plugins/analytics/lib/analytics_plugin/base.rb b/plugins/analytics/lib/analytics_plugin/base.rb index 7e1e024..49a00a0 100644 --- a/plugins/analytics/lib/analytics_plugin/base.rb +++ b/plugins/analytics/lib/analytics_plugin/base.rb @@ -27,9 +27,7 @@ class AnalyticsPlugin::Base < Noosfero::Plugin request_started_at: request_started_at, request_finished_at: request_finished_at unless profile.analytics_anonymous? - # FIXME: use session.id in Rails 4 - session_id = Marshal.load(Base64.decode64 request['_session_id'])['session_id'] rescue nil - #session_id = request.session_options[:id] + session_id = session.id page_view.user = user page_view.session_id = session_id end diff --git a/plugins/analytics/test/functional/content_viewer_controller_test.rb b/plugins/analytics/test/functional/content_viewer_controller_test.rb index a19b316..ad6747d 100644 --- a/plugins/analytics/test/functional/content_viewer_controller_test.rb +++ b/plugins/analytics/test/functional/content_viewer_controller_test.rb @@ -24,7 +24,7 @@ class ContentViewerControllerTest < ActionController::TestCase should 'register page view correctly' do @request.env['HTTP_REFERER'] = 'http://google.com' - first_url = 'http://test.host' + first_url = 'http://test.host/testcomm' get :view_page, profile: @community.identifier, page: [] assert_equal 1, @community.page_views.count assert_equal 1, @community.visits.count diff --git a/plugins/recent_content/lib/recent_content_block.rb b/plugins/recent_content/lib/recent_content_block.rb index bb34d07..66a02d7 100644 --- a/plugins/recent_content/lib/recent_content_block.rb +++ b/plugins/recent_content/lib/recent_content_block.rb @@ -33,7 +33,7 @@ class RecentContentBlock < Block end def parents - selected = self.holder.articles.where(type: 'Blog').first + self.holder.articles.where(type: 'Blog') end def root diff --git a/plugins/relevant_content/lib/ext/article.rb b/plugins/relevant_content/lib/ext/article.rb index d64b5ed..f2f73c1 100644 --- a/plugins/relevant_content/lib/ext/article.rb +++ b/plugins/relevant_content/lib/ext/article.rb @@ -16,7 +16,7 @@ class Article def self.most_commented_relevant_content(owner, limit) conditions = owner.kind_of?(Environment) ? ["comments_count > 0"] : ["profile_id = ? and comments_count > 0", owner.id] - result = Article.relevant_content.all.order('comments_count desc').limit(limit).where(conditions) + result = Article.relevant_content.order('comments_count desc').limit(limit).where(conditions) result.paginate({:page => 1, :per_page => limit}) end diff --git a/plugins/shopping_cart/controllers/shopping_cart_plugin_controller.rb b/plugins/shopping_cart/controllers/shopping_cart_plugin_controller.rb index 6663ac4..72e2414 100644 --- a/plugins/shopping_cart/controllers/shopping_cart_plugin_controller.rb +++ b/plugins/shopping_cart/controllers/shopping_cart_plugin_controller.rb @@ -303,11 +303,13 @@ class ShoppingCartPluginController < PublicController after_filter :save_cookie def save_cookie if @cart.nil? - cookies.delete(cookie_key, :path => '/plugin/shopping_cart') + # cookie.delete does not work, set to empty value + cookies[cookie_key] = {value: '', path: '/plugin/shopping_cart', expires: Time.at(0)} else cookies[cookie_key] = { - :value => Base64.encode64(@cart.to_yaml), - :path => "/plugin/shopping_cart" + value: Base64.encode64(@cart.to_yaml), + path: "/plugin/shopping_cart", + expires: Time.at(0), } end end diff --git a/plugins/shopping_cart/lib/shopping_cart_plugin/purchase_order.rb b/plugins/shopping_cart/lib/shopping_cart_plugin/purchase_order.rb index 31d4d1f..f80f036 100644 --- a/plugins/shopping_cart/lib/shopping_cart_plugin/purchase_order.rb +++ b/plugins/shopping_cart/lib/shopping_cart_plugin/purchase_order.rb @@ -9,7 +9,7 @@ class ShoppingCartPlugin::PurchaseOrder < ActiveRecord::Base acts_as_having_settings :field => :data - settings_items :products_list, :type => Array, :default => {} + settings_items :products_list, :type => Hash, :default => {} settings_items :customer_name, :type => String settings_items :customer_email, :type => String settings_items :customer_contact_phone, :type => String diff --git a/plugins/shopping_cart/test/functional/shopping_cart_plugin_controller_test.rb b/plugins/shopping_cart/test/functional/shopping_cart_plugin_controller_test.rb index aaf78c0..6776fc2 100644 --- a/plugins/shopping_cart/test/functional/shopping_cart_plugin_controller_test.rb +++ b/plugins/shopping_cart/test/functional/shopping_cart_plugin_controller_test.rb @@ -15,8 +15,12 @@ class ShoppingCartPluginControllerTest < ActionController::TestCase attr_reader :product should 'force cookie expiration with explicit path for an empty cart' do - get :get - assert @response.headers['Set-Cookie'] =~ /_noosfero_plugin_shopping_cart=; path=\/plugin\/shopping_cart; expires=.*-1970/ + get :get, id: product.id + assert @response.headers['Set-Cookie'] =~ /_noosfero_plugin_shopping_cart=; path=\/plugin\/shopping_cart; expires=.*1970.*/ + + get :add, id: product.id + get :remove, id: product.id + assert @response.headers['Set-Cookie'] =~ /_noosfero_plugin_shopping_cart=; path=\/plugin\/shopping_cart; expires=.*1970.*/ end should 'add a new product to cart' do diff --git a/plugins/sniffer/controllers/sniffer_plugin_myprofile_controller.rb b/plugins/sniffer/controllers/sniffer_plugin_myprofile_controller.rb index 94da1e1..d59ada3 100644 --- a/plugins/sniffer/controllers/sniffer_plugin_myprofile_controller.rb +++ b/plugins/sniffer/controllers/sniffer_plugin_myprofile_controller.rb @@ -109,7 +109,7 @@ class SnifferPluginMyprofileController < MyProfileController profiles = Profile.all :conditions => {:id => products.map { |p| target_profile_id(p) }} profiles_by_id = {} profiles.each do |p| - p[:sniffer_plugin_distance] = distance_between_profiles(@profile, p) + p.sniffer_plugin_distance = distance_between_profiles(@profile, p) profiles_by_id[p.id] ||= p end profiles_by_id diff --git a/plugins/sniffer/test/integration/sniffer_map_test.rb b/plugins/sniffer/test/integration/sniffer_map_test.rb index ff6f24e..0aaf3c8 100644 --- a/plugins/sniffer/test/integration/sniffer_map_test.rb +++ b/plugins/sniffer/test/integration/sniffer_map_test.rb @@ -95,8 +95,9 @@ class SnifferMapTest < ActionDispatch::IntegrationTest assert_response 200 assert_tag :tag => 'a', :attributes => { :href => '/profile/ent2'}, :content => @e[2].name assert_tag :tag => 'a', :attributes => { :href => url_for(@p[3].url) }, :content => @p[3].name - assert_select '.consumer-products', nil, 'consumer-products must to exist' - assert_select '.consumer-products *', 0, 'consumer-products must to be empty for @c1 on @e2' + doc = Nokogiri::HTML @response.body + assert_select doc, '.consumer-products', nil, 'consumer-products must to exist' + assert_select doc, '.consumer-products *', 0, 'consumer-products must to be empty for @c1 on @e2' end should 'create balloon on map for a consumer' do @@ -114,8 +115,9 @@ class SnifferMapTest < ActionDispatch::IntegrationTest assert_response 200 assert_tag :tag => 'a', :attributes => { :href => '/profile/ent4'}, :content => @e[4].name assert_tag :tag => 'a', :attributes => { :href => url_for(@p[2].url) }, :content => @p[2].name - assert_select '.suppliers-products', nil, 'suppliers-products must to exist' - assert_select '.suppliers-products *', 0, 'suppliers-products must to be empty for @c2 on @e4' + doc = Nokogiri::HTML @response.body + assert_select doc, '.suppliers-products', nil, 'suppliers-products must to exist' + assert_select doc, '.suppliers-products *', 0, 'suppliers-products must to be empty for @c2 on @e4' end should 'create balloon on map for a supplier and consumer' do @@ -138,9 +140,10 @@ class SnifferMapTest < ActionDispatch::IntegrationTest } assert_response 200 assert_tag :tag => 'a', :attributes => { :href => '/profile/ent3'}, :content => @e[3].name - assert_select ".suppliers-products a[href=#{url_for(@p[6].url)}]", @p[6].name, + doc = Nokogiri::HTML @response.body + assert_select doc, ".suppliers-products a[href=#{url_for(@p[6].url)}]", @p[6].name, "Can't find link to @p6 (#{@p[6].name})." - assert_select ".consumer-products a[href=#{url_for(@p[2].url)}]", @p[2].name, + assert_select doc, ".consumer-products a[href=#{url_for(@p[2].url)}]", @p[2].name, "Can't find link to @p2 (#{@p[2].name})." end -- libgit2 0.21.2