From 4f0b5f8223426644924807fc38f86ec245f4827b Mon Sep 17 00:00:00 2001 From: Jeff Shumate Date: Wed, 22 Feb 2012 20:37:08 -0700 Subject: add popularity counter to blog posts as well as accessor for recent posts --- spec/requests/refinery/blog/posts_spec.rb | 36 ++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) (limited to 'spec') diff --git a/spec/requests/refinery/blog/posts_spec.rb b/spec/requests/refinery/blog/posts_spec.rb index 815ca26..6f34cb9 100644 --- a/spec/requests/refinery/blog/posts_spec.rb +++ b/spec/requests/refinery/blog/posts_spec.rb @@ -101,8 +101,42 @@ module Refinery comment.body.should eq(body) end end + + context "post popular" do + let(:blog_post) { FactoryGirl.create(:blog_post) } + let(:blog_post2) { FactoryGirl.create(:blog_post) } + + before do + visit refinery.blog_post_path(blog_post) + end + + it "should increment access count" do + blog_post.reload.access_count.should eq(1) + visit refinery.blog_post_path(blog_post) + blog_post.reload.access_count.should eq(2) + end + + it "should be most popular" do + Refinery::Blog::Post.popular(2).first.should eq(blog_post) + end + end + + context "post recent" do + let(:blog_post) { FactoryGirl.create(:blog_post) } + let(:blog_post2) { FactoryGirl.create(:blog_post) } + + before do + visit refinery.blog_post_path(blog_post2) + visit refinery.blog_post_path(blog_post) + end + + it "should be the most recent" do + Refinery::Blog::Post.recent(2).first.should eq(blog_post2) + end + end + end - + describe "#show draft preview" do let(:blog_post) { FactoryGirl.create(:blog_post_draft) } context "when logged in as admin" do -- cgit v1.2.3