Sha256: a547c25f72bb758672ac17127c782fe6015355217e342bfc2520b72a4e4b9832

Contents?: true

Size: 895 Bytes

Versions: 17

Compression:

Stored size: 895 Bytes

Contents

RSpec.shared_context "on_conflict specs" do
  include_context 'with TestWorker'
  let(:lock_context) { CanvasSync::JobUniqueness::LockContext.new({ jid: 'j1', queue: 'default', job_clazz: 'TestWorker'}) }
  let(:on_conflict) { described_class.new(lock_context)}
end

RSpec.shared_examples "OnConflict is compatible with" do |lock_strategies|
  it "is compatible with the expected Lock Strategies" do
    lock_strategies.each do |lock_strategy|
      CanvasSync::JobUniqueness::OnConflict.validate!(described_class, lock_strategy)
    end
  end
end

RSpec.shared_examples "OnConflict is incompatible with" do |lock_strategies|
  it "is not compatible with the expected Lock Strategies" do
    lock_strategies.each do |lock_strategy|
      expect do
        CanvasSync::JobUniqueness::OnConflict.validate!(described_class, lock_strategy)
      end.to raise_error(ArgumentError)
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

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