Sha256: 394ffb83e5e2cc1282d1ff6a86e53e4d80dd30608e057d39910a78f8705131e9

Contents?: true

Size: 1.42 KB

Versions: 41

Compression:

Stored size: 1.42 KB

Contents

require 'spec_helper'

RSpec.describe CanvasSync::MiscHelper do
  describe ".invoke_task" do
    with_model :Model do
      table
      model do
        def wait_callback(*args); end

        def self.wait_callback(*args); end
      end
    end

    class CPW_TestWorker
      extend Sidekiq::Worker
    end

    it 'schedules a given job' do
      expect(CPW_TestWorker).to receive(:perform_async)
      described_class.invoke_task(
        job: 'CPW_TestWorker',
        args: [1, 2],
      )
    end

    it 'accepts a method string' do
      expect(Model).to receive(:wait_callback).with(1, 2, a: 3, b: 4)
      described_class.invoke_task(
        method: "#{Model.to_s}.wait_callback",
        args: [1, 2],
        kwargs: { a: 3, b: 4 },
      )
    end

    it 'invokes a model method' do
      model = Model.create!
      expect(Model).to receive(:find_by).with(id: model.id).and_return(model)
      expect(model).to receive(:wait_callback).with(1, 2, a: 3, b: 4)
      described_class.invoke_task(
        model: Model.to_s,
        find_by: { id: model.id },
        method: :wait_callback,
        args: [1, 2],
        kwargs: { a: 3, b: 4 },
      )
    end

    it 'invokes a class method' do
      expect(Model).to receive(:wait_callback).with(1, 2, a: 3, b: 4)
      described_class.invoke_task(
        class: Model.to_s,
        method: :wait_callback,
        args: [1, 2],
        kwargs: { a: 3, b: 4 },
      )
    end
  end
end

Version data entries

41 entries across 41 versions & 1 rubygems

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