From fe48df76ca3d01f8e7b71a1c9fa8f5c675aacaea Mon Sep 17 00:00:00 2001 From: Yurii Rashkovskii Date: Wed, 30 Apr 2008 22:19:25 +0300 Subject: [PATCH] Head document with meta specs [#42 state:open] --- spec/lib/strokedb/document/document_spec.rb | 43 +++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/spec/lib/strokedb/document/document_spec.rb b/spec/lib/strokedb/document/document_spec.rb index bf0927a1..b60fcb23 100644 --- a/spec/lib/strokedb/document/document_spec.rb +++ b/spec/lib/strokedb/document/document_spec.rb @@ -507,9 +507,52 @@ @document.some_indirect_link.first.should_not be_a_kind_of(VersionedDocument) end +end + +describe "Head Document with meta" do + + before(:each) do + setup_default_store + Object.send!(:remove_const,'SomeMeta') if defined?(SomeMeta) + SomeMeta = Meta.new + @document = SomeMeta.create! + @document.should be_head + end + it "should link to head meta" do + Object.send!(:remove_const,'SomeMeta') if defined?(SomeMeta) + SomeMeta = Meta.new(:some_slot => 1) + pending("#42 bug to be actually fixed [NEEDS ATTENTION!!!]") do + @document.meta.should be_head + @document.meta.should_not be_a_kind_of(VersionedDocument) + @document.meta.some_slot.should == 1 + end + end + end +describe "Non-head Document with meta" do + + before(:each) do + setup_default_store + Object.send!(:remove_const,'SomeMeta') if defined?(SomeMeta) + SomeMeta = Meta.new + @document = SomeMeta.create! + @document.update_slots! :updated => true + @document = @document.versions.previous + @document.should_not be_head + end + + it "should link to exact meta version" do + Object.send!(:remove_const,'SomeMeta') if defined?(SomeMeta) + SomeMeta = Meta.new(:some_slot => 1) + + @document.meta.should_not be_head + @document.meta.should be_a_kind_of(VersionedDocument) + @document.meta.should_not have_slot(:some_slot) + end + +end describe "Saved VersionedDocument" do before(:each) do