From 8d031ed0c717a32f6a5ad28ccd37e748026dc21c Mon Sep 17 00:00:00 2001 From: Johan Bruning Date: Mon, 4 Jul 2011 16:22:48 +0200 Subject: Added ability to disable teaser independent of teaser length I prefer full length articles at all times on blogs and don't like teasers. I added the ability for people to disable teasers so full articles will be shown by default. The teasers can e enabled just like comments from the admin page or trough the normal settings. However not sure if the post partial now is conform standards. Maybe the helper method "blog_post_teaser" could encapsulate the check which is now done in the view and return the full length article instead of a teaser if the teasers are disabled. --- spec/models/blog_post_spec.rb | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'spec/models') diff --git a/spec/models/blog_post_spec.rb b/spec/models/blog_post_spec.rb index 5642446..1b6bf9b 100644 --- a/spec/models/blog_post_spec.rb +++ b/spec/models/blog_post_spec.rb @@ -190,4 +190,28 @@ describe BlogPost do Factory.create(:blog_post, :custom_teaser => 'This is some custom content').should be_valid end end + + describe ".teasers_enabled?" do + context "with RefinerySetting teasers_enabled set to true" do + before do + RefinerySetting.set(:teasers_enabled, { :scoping => 'blog', :value => true }) + end + + it "should be true" do + BlogPost.teasers_enabled?.should be_true + end + end + + context "with RefinerySetting teasers_enabled set to true" do + before do + RefinerySetting.set(:teasers_enabled, { :scoping => 'blog', :value => false }) + end + + it "should be false" do + BlogPost.teasers_enabled?.should be_false + end + end + + end + end -- cgit v1.2.3