Sha256: b2636ca1701a682df6bfdd080074fdbb04c34e18609efd0f07254c0e296f4ec0
Contents?: true
Size: 852 Bytes
Versions: 17
Compression:
Stored size: 852 Bytes
Contents
require 'job_uniqueness/spec_helper' RSpec.describe CanvasSync::JobUniqueness::Strategy::WhileExecuting do include_context 'lock strategy specs', strategy: :while_executing include_examples "a lock implementation" describe "#on_enqueue" do it "does not lock jobs" do expect(process_one.on_enqueue {}) expect(process_one).not_to be_locked expect(process_two.on_enqueue {}) expect(process_two).not_to be_locked end end describe "#on_perform" do it "locks the process" do process_one.on_perform do expect(process_one).to be_locked end end it "prevents other processes from executing" do process_one.on_perform do expect do process_two.on_perform { } end.to raise_error(CanvasSync::JobUniqueness::CouldNotLockError) end end end end
Version data entries
17 entries across 17 versions & 1 rubygems