From 28d72c09b9e33cec6fe9031aec13b307e7ab6f01 Mon Sep 17 00:00:00 2001 From: Thomas von Deyen Date: Tue, 1 Nov 2011 13:08:06 +0100 Subject: [PATCH] Setting trashed elements not public --- app/models/element.rb | 3 ++- spec/models/element_spec.rb | 33 ++++++++++++++++++++++++++------- 2 files changed, 28 insertions(+), 8 deletions(-) diff --git a/app/models/element.rb b/app/models/element.rb index 8abb025f65..656d985327 100644 --- a/app/models/element.rb +++ b/app/models/element.rb @@ -54,7 +54,8 @@ def store_page(page) def trash self.update_attributes({ :page_id => nil, - :folded => true + :folded => true, + :public => false }) end diff --git a/spec/models/element_spec.rb b/spec/models/element_spec.rb index 9c01e39c66..209934538c 100644 --- a/spec/models/element_spec.rb +++ b/spec/models/element_spec.rb @@ -49,14 +49,33 @@ element.ingredient('intro').should == EssenceText.first.ingredient end - it "should be trashable" do - element = Factory(:element) - element.trash - element.page_id.should == nil - element.folded.should == true - Element.trashed.should include(element) + context "trashed" do + + before(:each) do + @element = Factory(:element) + @element.trash + end + + it "should be not public" do + @element.public.should be_false + end + + it "should have no page" do + @element.page.should == nil + end + + it "should be folded" do + @element.folded.should == true + end + end - + + it "should return a collection of trashed elements" do + @element = Factory(:element) + @element.trash + Element.trashed.should include(@element) + end + it "should raise error if all_for_page method has no page" do expect { Element.all_for_page(nil) }.should raise_error(TypeError) end