Sha256: 611ce29eeffd8c2ef6b26e124e4ad35bc9906dfbbb240574e0e4dce48103ff7d
Contents?: true
Size: 1.1 KB
Versions: 4
Compression:
Stored size: 1.1 KB
Contents
require 'spec_helper' require 'active_support/core_ext/hash/keys' # Hash.symbolize_keys require 'active_support/core_ext/numeric/time' # Numeric.hours require 'active_record' DB_FILE = 'tmp/test_db' FileUtils.mkdir_p File.dirname(DB_FILE) FileUtils.rm_f DB_FILE ActiveRecord::Base.establish_connection :adapter => 'sqlite3', :database => DB_FILE load('spec/schema.rb') describe BackgroundWorker::Base do let(:cache) { double(write: nil, read: nil, reconnect: nil, store: nil) } let(:model_class) { Model = Class.new(ActiveRecord::Base) } let(:worker_class) { Class.new(BackgroundWorker::Base) do def store_in_cache(opts) Rails.cache.store(opts[:value]) end end } before do stub_const 'Model', model_class stub_const 'Rails', double(cache: cache, env: 'production') BackgroundWorker.configure(backgrounded: false) end it 'should perform action and handle transactions/connections appropriately' do Model.transaction do worker_class.perform_in_background(:store_in_cache, value: 42) end expect(cache).to have_received(:store).with(42) end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
background_worker-0.5.0 | spec/base_spec.rb |
background_worker-0.4.0 | spec/base_spec.rb |
background_worker-0.3.0 | spec/base_spec.rb |
background_worker-0.2.1 | spec/base_spec.rb |