diff --git a/lib/rspec/rails/mocks.rb b/lib/rspec/rails/mocks.rb index 41dce6fc21..1f3e0301f6 100644 --- a/lib/rspec/rails/mocks.rb +++ b/lib/rspec/rails/mocks.rb @@ -22,6 +22,10 @@ def new_record? def persisted? !!id end + + def destroy + self.stub(:id) { nil } + end end # Creates a mock object instance for a +model_class+ with common diff --git a/spec/rspec/rails/mocks/mock_model_spec.rb b/spec/rspec/rails/mocks/mock_model_spec.rb index 963b8f2ec0..71b981ba16 100644 --- a/spec/rspec/rails/mocks/mock_model_spec.rb +++ b/spec/rspec/rails/mocks/mock_model_spec.rb @@ -14,6 +14,14 @@ end end + describe "destroy" do + it "sets id to nil" do + model = mock_model(MockableModel) + model.destroy + model.id.should be_nil + end + end + describe "with params" do it "does not mutate its parameters" do params = {:a => 'b'}