added wiki page post set test
This commit is contained in:
@@ -15,7 +15,7 @@ module PostSets
|
|||||||
end
|
end
|
||||||
|
|
||||||
def tags
|
def tags
|
||||||
@tags ||= ::Tag.normalize(wiki_page.title)
|
@tags ||= ::Tag.scan_query(wiki_page.title)
|
||||||
end
|
end
|
||||||
|
|
||||||
def posts
|
def posts
|
||||||
|
|||||||
@@ -19,6 +19,19 @@ module PostSets
|
|||||||
CurrentUser.ip_addr = nil
|
CurrentUser.ip_addr = nil
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context "a numbered set for page 2" do
|
||||||
|
setup do
|
||||||
|
@set = PostSets::Base.new(:page => 2)
|
||||||
|
@set.extend(PostSets::Sequential)
|
||||||
|
@set.extend(PostSets::Post)
|
||||||
|
@set.stubs(:limit).returns(1)
|
||||||
|
end
|
||||||
|
|
||||||
|
should "return the second element" do
|
||||||
|
assert_equal(@post_2.id, @set.posts.first.id)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
context "a sequential set for the 'a' tag query" do
|
context "a sequential set for the 'a' tag query" do
|
||||||
setup do
|
setup do
|
||||||
@post_4 = Factory.create(:post, :tag_string => "a")
|
@post_4 = Factory.create(:post, :tag_string => "a")
|
||||||
|
|||||||
73
test/unit/post_sets/wiki_page_test.rb
Normal file
73
test/unit/post_sets/wiki_page_test.rb
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
require 'test_helper'
|
||||||
|
|
||||||
|
module PostSets
|
||||||
|
class WikiPageTest < ActiveSupport::TestCase
|
||||||
|
context "In all cases" do
|
||||||
|
setup do
|
||||||
|
@user = Factory.create(:user)
|
||||||
|
CurrentUser.user = @user
|
||||||
|
CurrentUser.ip_addr = "127.0.0.1"
|
||||||
|
MEMCACHE.flush_all
|
||||||
|
|
||||||
|
@wiki_page = Factory.create(:wiki_page, :title => "a")
|
||||||
|
@post_1 = Factory.create(:post, :tag_string => "a")
|
||||||
|
@post_2 = Factory.create(:post, :tag_string => "a")
|
||||||
|
@post_3 = Factory.create(:post, :tag_string => "a")
|
||||||
|
end
|
||||||
|
|
||||||
|
context "a numbered wiki page set" do
|
||||||
|
setup do
|
||||||
|
@set = PostSets::Base.new(:page => 2, :id => @wiki_page.id)
|
||||||
|
@set.extend(PostSets::Numbered)
|
||||||
|
@set.extend(PostSets::WikiPage)
|
||||||
|
@set.stubs(:limit).returns(1)
|
||||||
|
end
|
||||||
|
|
||||||
|
should "return the count" do
|
||||||
|
assert_equal(3, @set.count)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context "a sequential wiki page set" do
|
||||||
|
context "with a before_id for the first element" do
|
||||||
|
setup do
|
||||||
|
@set = PostSets::Base.new(:id => @wiki_page.id, :before_id => @post_3.id)
|
||||||
|
@set.extend(PostSets::Sequential)
|
||||||
|
@set.extend(PostSets::WikiPage)
|
||||||
|
@set.stubs(:limit).returns(1)
|
||||||
|
end
|
||||||
|
|
||||||
|
should "return the second element" do
|
||||||
|
assert_equal(@post_2.id, @set.posts.first.id)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context "with an after_id for the second element" do
|
||||||
|
setup do
|
||||||
|
@set = PostSets::Base.new(:after_id => @post_2.id, :id => @wiki_page.id)
|
||||||
|
@set.extend(PostSets::Sequential)
|
||||||
|
@set.extend(PostSets::WikiPage)
|
||||||
|
@set.stubs(:limit).returns(1)
|
||||||
|
end
|
||||||
|
|
||||||
|
should "return the first element" do
|
||||||
|
assert_equal(@post_3.id, @set.posts.first.id)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context "a numbered wiki page set for page 2" do
|
||||||
|
setup do
|
||||||
|
@set = PostSets::Base.new(:page => 2, :id => @wiki_page.id)
|
||||||
|
@set.extend(PostSets::Numbered)
|
||||||
|
@set.extend(PostSets::WikiPage)
|
||||||
|
@set.stubs(:limit).returns(1)
|
||||||
|
end
|
||||||
|
|
||||||
|
should "return the second element" do
|
||||||
|
assert_equal(@post_2.id, @set.posts.first.id)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
Reference in New Issue
Block a user