aboutsummaryrefslogtreecommitdiffstats
path: root/spec
diff options
context:
space:
mode:
Diffstat (limited to 'spec')
-rw-r--r--spec/factories/blog_posts.rb4
-rw-r--r--spec/requests/refinery/blog/posts_spec.rb22
2 files changed, 26 insertions, 0 deletions
diff --git a/spec/factories/blog_posts.rb b/spec/factories/blog_posts.rb
index 0b8b888..b839d02 100644
--- a/spec/factories/blog_posts.rb
+++ b/spec/factories/blog_posts.rb
@@ -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
diff --git a/spec/requests/refinery/blog/posts_spec.rb b/spec/requests/refinery/blog/posts_spec.rb
index 7c5a90f..025586c 100644
--- a/spec/requests/refinery/blog/posts_spec.rb
+++ b/spec/requests/refinery/blog/posts_spec.rb
@@ -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