Files
danbooru/test/unit/post_sets/wiki_page_test.rb
2011-06-11 17:29:55 -04:00

74 lines
2.3 KiB
Ruby

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