aboutsummaryrefslogtreecommitdiffstats
path: root/spec/spec_helper.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/spec_helper.rb')
-rw-r--r--spec/spec_helper.rb19
1 files changed, 19 insertions, 0 deletions
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
index 0d8f8fac5..6e65018f1 100644
--- a/spec/spec_helper.rb
+++ b/spec/spec_helper.rb
@@ -125,6 +125,25 @@ Spork.prefork do
rebuild_xapian_index
end
+ # Use the before create job hook to simulate a race condition with
+ # another process by creating an acts_as_xapian_job record for the
+ # same model:
+ def with_duplicate_xapian_job_creation
+ InfoRequestEvent.module_eval do
+ def xapian_before_create_job_hook(action, model, model_id)
+ ActsAsXapian::ActsAsXapianJob.create!(:model => model,
+ :model_id => model_id,
+ :action => action)
+ end
+ end
+ yield
+ ensure
+ InfoRequestEvent.module_eval do
+ def xapian_before_create_job_hook(action, model, model_id)
+ end
+ end
+ end
+
def with_env_tz(new_tz = 'US/Eastern')
old_tz, ENV['TZ'] = ENV['TZ'], new_tz
yield