Fix draft preview of blog posts

This commit is contained in:
Jamie Winsor 2011-09-21 00:56:54 -07:00
parent df0664b142
commit 5e91670a80
4 changed files with 28 additions and 2 deletions

View file

@ -6,7 +6,7 @@ module Refinery
def find_blog_post
unless (@blog_post = Refinery::BlogPost.find(params[:id])).try(:live?)
if refinery_user? and current_user.authorized_plugins.include?("refinerycms_blog")
if refinery_user? and current_refinery_user.authorized_plugins.include?("refinerycms_blog")
@blog_post = Refinery::BlogPost.find(params[:id])
else
error_404

View file

@ -27,5 +27,5 @@
<span class="st_sharethis" displayText="ShareThis"></span>
<% end %>
</article>
<%= render :partial => '/shared/draft_page_message' unless @blog_post.nil? or @blog_post.live? -%>
<%= render :partial => '/refinery/draft_page_message' unless @blog_post.nil? or @blog_post.live? -%>
<%= render 'nav' if next_or_previous?(@blog_post) %>

View file

@ -5,5 +5,9 @@ FactoryGirl.define do
draft false
tag_list "chicago, shopping, fun times"
published_at Time.now
factory :blog_post_draft do
draft true
end
end
end

View file

@ -83,5 +83,27 @@ module Refinery
end
end
end
describe "#show draft preview" do
let(:blog_post) { FactoryGirl.create(:blog_post_draft) }
context "when logged in as admin" do
it "should display the draft notification" do
visit blog_post_path(blog_post)
page.should have_content('This page is NOT live for public viewing.')
end
end
context "when not logged in as an admin" do
before(:each) { visit destroy_refinery_user_session_path }
it "should not display the blog post" do
visit blog_post_path(blog_post)
page.should have_content("The page you were looking for doesn't exist (404)")
end
end
end
end
end