Sha256: a5fa3cc1f6cdc6ec79f55bb8c68062d6a15c08134666d5e2c00af94639b9e002
Contents?: true
Size: 1.32 KB
Versions: 41
Compression:
Stored size: 1.32 KB
Contents
require 'spec_helper' RSpec.describe CanvasSync::Jobs::CanvasProcessWaiter do let!(:worker) { CanvasSync::Jobs::CanvasProcessWaiter.new } describe 'perform' do it 'queues a InvokeCallbackWorker when complete' do job = { args: [1, 2], kwargs: { progress: anything }, } allow_any_instance_of(Bearcat::Client).to receive(:get).and_return('workflow_state' => 'completed') expect(CanvasSync::Jobs::CanvasProcessWaiter::InvokeCallbackWorker).to receive(:perform_later).with(job) worker.perform('/blah/', job) end it 'invokes the on_failure callback if failed' do job = { args: [1, 2], kwargs: { progress: anything }, } allow_any_instance_of(Bearcat::Client).to receive(:get).and_return('workflow_state' => 'failed') expect(CanvasSync::Jobs::CanvasProcessWaiter::InvokeCallbackWorker).to receive(:perform_later).with(job) worker.perform('/blah/', nil, on_failure: job) end it 're-enqueues if incomplete' do ActiveJob::Base.queue_adapter = :test allow_any_instance_of(Bearcat::Client).to receive(:get).and_return('workflow_state' => 'pending') worker.perform('/blah/', nil, interval: 13) expect(CanvasSync::Jobs::CanvasProcessWaiter).to have_been_enqueued.once.with('/blah/', nil, interval: 13) end end end
Version data entries
41 entries across 41 versions & 1 rubygems