From 033f0fc2663b3400eb1d0b77594e3dd05fff4072 Mon Sep 17 00:00:00 2001 From: albert Date: Sat, 11 Jun 2011 17:29:55 -0400 Subject: [PATCH] added wiki page post set test --- app/logical/post_sets/wiki_page.rb | 2 +- test/unit/post_sets/post_test.rb | 13 +++++ test/unit/post_sets/wiki_page_test.rb | 73 +++++++++++++++++++++++++++ 3 files changed, 87 insertions(+), 1 deletion(-) create mode 100644 test/unit/post_sets/wiki_page_test.rb diff --git a/app/logical/post_sets/wiki_page.rb b/app/logical/post_sets/wiki_page.rb index c0e2c6241..dc48aebfc 100644 --- a/app/logical/post_sets/wiki_page.rb +++ b/app/logical/post_sets/wiki_page.rb @@ -15,7 +15,7 @@ module PostSets end def tags - @tags ||= ::Tag.normalize(wiki_page.title) + @tags ||= ::Tag.scan_query(wiki_page.title) end def posts diff --git a/test/unit/post_sets/post_test.rb b/test/unit/post_sets/post_test.rb index 49ddc6ce5..9a0e4500c 100644 --- a/test/unit/post_sets/post_test.rb +++ b/test/unit/post_sets/post_test.rb @@ -19,6 +19,19 @@ module PostSets CurrentUser.ip_addr = nil 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 setup do @post_4 = Factory.create(:post, :tag_string => "a") diff --git a/test/unit/post_sets/wiki_page_test.rb b/test/unit/post_sets/wiki_page_test.rb new file mode 100644 index 000000000..d730b9f05 --- /dev/null +++ b/test/unit/post_sets/wiki_page_test.rb @@ -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