spec/unit/attributes_spec.rb in langalex-couch_potato-0.2.9 vs spec/unit/attributes_spec.rb in langalex-couch_potato-0.2.11
- old
+ new
@@ -21,20 +21,27 @@
plant.attributes.should == {:leaf_count => 1, :created_at => nil, :updated_at => nil}
end
end
# useful when loading models from custom views
- describe "accessing non-property attributes" do
- it "should allow me to access attributes that are in the couchdb document " do
+ describe "accessing ghost attributes" do
+ it "should allow me to access attributes that are in the couchdb document but not defined as a property" do
plant = Plant.json_create({"ruby_class" => "Plant", "color" => "red", "leaf_count" => 1})
plant.color.should == 'red'
end
it "should raise a no method error when trying to read attributes that are not in the document" do
plant = Plant.json_create({"ruby_class" => "Plant", "leaf_count" => 1})
lambda do
plant.length
end.should raise_error(NoMethodError)
+ end
+
+ it "should raise a no method error if the document hasn't been loaded from the database" do
+ plant = Plant.new
+ lambda do
+ plant.length
+ end.should raise_error(NoMethodError, /undefined method `length'/)
end
end
end