diff --git a/app/models/tag.rb b/app/models/tag.rb index cb7126c6c5..c42ca8bb6c 100644 --- a/app/models/tag.rb +++ b/app/models/tag.rb @@ -58,7 +58,7 @@ def self.find_top_nodes_by_type(tagname, type = 'wiki', limit = 10) .where('term_data.name = ?', tagname) .order('node.views DESC') .limit(limit) - .include(:node_tag, :tag) + .includes(:node_tag, :tag) end # finds recent nodes - should drop "limit" and allow use of chainable .limit() @@ -110,7 +110,7 @@ def self.find_popular_notes(tagname, views = 20, limit = 10) .where('term_data.name = ? AND node.views > (?)', tagname, views) .order('node.nid DESC') .limit(limit) - .include(:node_tag, :tag) + .includes(:node_tag, :tag) end def self.exists?(tagname, nid) diff --git a/test/unit/tag_test.rb b/test/unit/tag_test.rb index cd7e902323..ad70ff513d 100644 --- a/test/unit/tag_test.rb +++ b/test/unit/tag_test.rb @@ -135,4 +135,14 @@ class TagTest < ActiveSupport::TestCase assert !trending_tags.empty? assert_not_nil Tag.trending(2, Time.now - 1.year, Time.now - 1.month) end + + test 'Tag.find_popular_notes returns most viewed notes with specified tag' do + popular_notes = Tag.find_popular_notes('test') + assert_not_nil popular_notes + end + + test 'Tag.top_nodes returns most viewed nodes with specified tag and node type' do + top_nodes = Tag.find_top_nodes_by_type(tagname:'awesome2', type:'page') + assert_not_nil top_nodes + end end