From b37dc14fd08baa69bb0c0993db1c02a498f67627 Mon Sep 17 00:00:00 2001 From: Brian Underwood Date: Mon, 13 Apr 2015 01:04:09 +0200 Subject: [PATCH] Fix this by not using stubs/mocks/whatever --- spec/e2e/basic_model_spec.rb | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/spec/e2e/basic_model_spec.rb b/spec/e2e/basic_model_spec.rb index 48c724297..73c75eef7 100644 --- a/spec/e2e/basic_model_spec.rb +++ b/spec/e2e/basic_model_spec.rb @@ -14,6 +14,17 @@ property :name property :a property :b + + before_destroy :before_destroy_callback + def before_destroy_callback + self.class.before_destroy_callback_calls += 1 + end + + class << self + attr_accessor :before_destroy_callback_calls + end + + self.before_destroy_callback_calls = 0 end end @@ -41,17 +52,21 @@ end it 'should be possible to #delete_all' do - expect(subject.class).not_to receive(:all) + expect_any_instance_of(subject.class).not_to receive(:before_destroy_callback) + expect(subject.class.count).to eq 3 + expect(subject.class.before_destroy_callback_calls).to eq 0 subject.class.delete_all expect(subject.class.count).to eq 0 + expect(subject.class.before_destroy_callback_calls).to eq 0 end it 'should be possible to #destroy_all' do - expect(subject.class).to receive(:all).and_return(subject.class.all) expect(subject.class.count).to eq 3 + expect(subject.class.before_destroy_callback_calls).to eq 0 subject.class.destroy_all expect(subject.class.count).to eq 0 + expect(subject.class.before_destroy_callback_calls).to eq 3 end end end