Tests to verify failure behavior when an attribute is not included in the readonly set.

This commit is contained in:
John Mileham 2011-02-23 13:19:02 -05:00
parent 3c0aea25fa
commit 15bc25ea24
1 changed files with 21 additions and 2 deletions

View File

@ -15,15 +15,34 @@ describe Shoulda::Matchers::ActiveRecord::HaveReadonlyAttributeMatcher do
end
end
context "an attribute that can be set after being saved" do
context "an attribute not included in the readonly set" do
before do
define_model :example, :attr => :string, :other => :string do
attr_readonly :other
end
@model = Example.new
end
it "should not accept being read-only" do
@model.should_not have_readonly_attribute(:attr)
end
end
context "an attribute on a class with no readonly attributes" do
before do
define_model :example, :attr => :string
@model = Example.new
end
it "should accept being read-only" do
it "should not accept being read-only" do
@model.should_not have_readonly_attribute(:attr)
end
it "should assign a failure message" do
matcher = have_readonly_attribute(:attr)
matcher.matches?(@model).should == false
matcher.failure_message.should_not be_nil
end
end
end