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

Version Path
canvas_sync-0.22.9 spec/job_uniqueness/strategy/while_executing_spec.rb
canvas_sync-0.22.8 spec/job_uniqueness/strategy/while_executing_spec.rb
canvas_sync-0.22.6 spec/job_uniqueness/strategy/while_executing_spec.rb
canvas_sync-0.22.5 spec/job_uniqueness/strategy/while_executing_spec.rb
canvas_sync-0.22.4 spec/job_uniqueness/strategy/while_executing_spec.rb
canvas_sync-0.22.3 spec/job_uniqueness/strategy/while_executing_spec.rb
canvas_sync-0.22.2 spec/job_uniqueness/strategy/while_executing_spec.rb
canvas_sync-0.22.1 spec/job_uniqueness/strategy/while_executing_spec.rb
canvas_sync-0.22.0 spec/job_uniqueness/strategy/while_executing_spec.rb
canvas_sync-0.22.0.beta8 spec/job_uniqueness/strategy/while_executing_spec.rb
canvas_sync-0.22.0.beta7 spec/job_uniqueness/strategy/while_executing_spec.rb
canvas_sync-0.22.0.beta6 spec/job_uniqueness/strategy/while_executing_spec.rb
canvas_sync-0.22.0.beta5 spec/job_uniqueness/strategy/while_executing_spec.rb
canvas_sync-0.22.0.beta4 spec/job_uniqueness/strategy/while_executing_spec.rb
canvas_sync-0.22.0.beta3 spec/job_uniqueness/strategy/while_executing_spec.rb
canvas_sync-0.22.0.beta2 spec/job_uniqueness/strategy/while_executing_spec.rb
canvas_sync-0.22.0.beta1 spec/job_uniqueness/strategy/while_executing_spec.rb