spec/mongomodel/concerns/attribute_methods/protected_spec.rb in mongomodel-0.5.1 vs spec/mongomodel/concerns/attribute_methods/protected_spec.rb in mongomodel-0.5.2
- old
+ new
@@ -1,87 +1,85 @@
require 'spec_helper'
module MongoModel
- if ActiveModel::VERSION::STRING < '4.0' || Gem.loaded_specs['protected_attributes']
- specs_for(Document, EmbeddedDocument) do
- define_class(:TestDocument, described_class) do
- property :foo, String
- property :bar, String
+ specs_for(Document, EmbeddedDocument) do
+ define_class(:TestDocument, described_class) do
+ property :foo, String
+ property :bar, String
+ end
+
+ subject { TestDocument.new }
+
+ describe "#attr_protected" do
+ before(:each) do
+ TestDocument.attr_protected :foo
end
- subject { TestDocument.new }
+ it "disallows the attribute to be mass-assigned via attributes=" do
+ subject.attributes = { :foo => 'value of foo' }
+ subject.foo.should be_nil
+ end
- describe "#attr_protected" do
- before(:each) do
- TestDocument.attr_protected :foo
- end
+ it "does not disallow the attribute to be assigned individually" do
+ subject.foo = 'value of foo'
+ subject.foo.should == 'value of foo'
+ end
+
+ it "does not disallow other attributes to be mass-assigned via attributes=" do
+ subject.attributes = { :bar => 'value of bar' }
+ subject.bar.should == 'value of bar'
+ end
+
+ it "accepts multiple attributes" do
+ TestDocument.attr_protected :foo, :bar
- it "disallows the attribute to be mass-assigned via attributes=" do
- subject.attributes = { :foo => 'value of foo' }
- subject.foo.should be_nil
- end
-
- it "does not disallow the attribute to be assigned individually" do
- subject.foo = 'value of foo'
- subject.foo.should == 'value of foo'
- end
-
- it "does not disallow other attributes to be mass-assigned via attributes=" do
- subject.attributes = { :bar => 'value of bar' }
- subject.bar.should == 'value of bar'
- end
-
- it "accepts multiple attributes" do
- TestDocument.attr_protected :foo, :bar
-
- subject.attributes = { :foo => 'value of foo', :bar => 'value of bar' }
- subject.foo.should be_nil
- subject.bar.should be_nil
- end
+ subject.attributes = { :foo => 'value of foo', :bar => 'value of bar' }
+ subject.foo.should be_nil
+ subject.bar.should be_nil
end
+ end
+
+ describe "#attr_accessible" do
+ before(:each) do
+ TestDocument.attr_accessible :foo
+ end
- describe "#attr_accessible" do
- before(:each) do
- TestDocument.attr_accessible :foo
- end
+ it "allows the attribute to be mass-assigned via attributes=" do
+ subject.attributes = { :foo => 'value of foo' }
+ subject.foo.should == 'value of foo'
+ end
+
+ it "does not disallow other attributes to be mass-assigned via attributes=" do
+ subject.attributes = { :bar => 'value of bar' }
+ subject.bar.should be_nil
+ end
+
+ it "does not disallow others attributes to be assigned individually" do
+ subject.bar = 'value of bar'
+ subject.bar.should == 'value of bar'
+ end
+
+ it "accepts multiple attributes" do
+ TestDocument.attr_accessible :foo, :bar
- it "allows the attribute to be mass-assigned via attributes=" do
- subject.attributes = { :foo => 'value of foo' }
- subject.foo.should == 'value of foo'
+ subject.attributes = { :foo => 'value of foo', :bar => 'value of bar' }
+ subject.foo.should == 'value of foo'
+ subject.bar.should == 'value of bar'
+ end
+ end
+
+ describe "#property" do
+ context "with :protected option" do
+ it "makes the attribute protected" do
+ TestDocument.should_receive(:attr_protected).with(:baz)
+ TestDocument.property :baz, String, :protected => true
end
-
- it "does not disallow other attributes to be mass-assigned via attributes=" do
- subject.attributes = { :bar => 'value of bar' }
- subject.bar.should be_nil
- end
-
- it "does not disallow others attributes to be assigned individually" do
- subject.bar = 'value of bar'
- subject.bar.should == 'value of bar'
- end
-
- it "accepts multiple attributes" do
- TestDocument.attr_accessible :foo, :bar
-
- subject.attributes = { :foo => 'value of foo', :bar => 'value of bar' }
- subject.foo.should == 'value of foo'
- subject.bar.should == 'value of bar'
- end
end
- describe "#property" do
- context "with :protected option" do
- it "makes the attribute protected" do
- TestDocument.should_receive(:attr_protected).with(:baz)
- TestDocument.property :baz, String, :protected => true
- end
- end
-
- context "with :accessible option" do
- it "makes the attribute accessible" do
- TestDocument.should_receive(:attr_accessible).with(:baz)
- TestDocument.property :baz, String, :accessible => true
- end
+ context "with :accessible option" do
+ it "makes the attribute accessible" do
+ TestDocument.should_receive(:attr_accessible).with(:baz)
+ TestDocument.property :baz, String, :accessible => true
end
end
end
end
end