add dedicated intro post set
This commit is contained in:
15
app/logical/post_sets/intro.rb
Normal file
15
app/logical/post_sets/intro.rb
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
module PostSets
|
||||||
|
class Intro < PostSets::Post
|
||||||
|
def initialize(tags)
|
||||||
|
super(tags)
|
||||||
|
end
|
||||||
|
|
||||||
|
def posts
|
||||||
|
@posts ||= begin
|
||||||
|
temp = ::Post.tag_match("#{tag_string} fav_count:>3").paginate(page, :search_count => nil, :limit => 6)
|
||||||
|
temp.all
|
||||||
|
temp
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
@@ -5,7 +5,7 @@ class IntroPresenter
|
|||||||
|
|
||||||
def each
|
def each
|
||||||
popular_tags.each do |tag|
|
popular_tags.each do |tag|
|
||||||
yield(tag, PostSets::Post.new(tag, 1, 6))
|
yield(tag, PostSets::Intro.new(tag))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
42
test/unit/post_sets/intro_test.rb
Normal file
42
test/unit/post_sets/intro_test.rb
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
require 'test_helper'
|
||||||
|
require "danbooru/paginator/pagination_error"
|
||||||
|
|
||||||
|
module PostSets
|
||||||
|
class IntroTest < ActiveSupport::TestCase
|
||||||
|
context "In all cases" do
|
||||||
|
setup do
|
||||||
|
@user = FactoryGirl.create(:user)
|
||||||
|
CurrentUser.user = @user
|
||||||
|
CurrentUser.ip_addr = "127.0.0.1"
|
||||||
|
MEMCACHE.flush_all
|
||||||
|
|
||||||
|
@post_1 = FactoryGirl.create(:post, :tag_string => "a")
|
||||||
|
@post_2 = FactoryGirl.create(:post, :tag_string => "b")
|
||||||
|
@post_3 = FactoryGirl.create(:post, :tag_string => "c")
|
||||||
|
end
|
||||||
|
|
||||||
|
teardown do
|
||||||
|
CurrentUser.user = nil
|
||||||
|
CurrentUser.ip_addr = nil
|
||||||
|
end
|
||||||
|
|
||||||
|
context "a set for the 'a' tag query" do
|
||||||
|
setup do
|
||||||
|
@post_4 = FactoryGirl.create(:post, :tag_string => "a")
|
||||||
|
@post_5 = FactoryGirl.create(:post, :tag_string => "a")
|
||||||
|
end
|
||||||
|
|
||||||
|
context "with no page" do
|
||||||
|
setup do
|
||||||
|
@set = PostSets::Intro.new("a")
|
||||||
|
::Post.stubs(:records_per_page).returns(1)
|
||||||
|
end
|
||||||
|
|
||||||
|
should "return the first element" do
|
||||||
|
assert_equal(@post_5.id, @set.posts.first.id)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
Reference in New Issue
Block a user