Sha256: f8636ee053b4b321869751e7fef48a9179303bb03d97ffa4593847e30030c699

Contents?: true

Size: 975 Bytes

Versions: 5

Compression:

Stored size: 975 Bytes

Contents

shared_examples_for 'configurable subscriber worker' do
  describe '.configured?' do
    context 'for unconfigured class' do
      subject { FailingEventWorker.configured? }

      it { is_expected.to eq(false) }
    end

    context 'for configured class' do
      subject { MyEventWorker.configured? }

      it { is_expected.to eq(true) }
    end
  end

  describe '.perform_where_needed?' do
    context 'for delayed worker' do
      let(:klass) { MyDelayedWorker }
      subject { klass.perform_where_needed(event_data) }

      it 'uses perform_in to delay execution' do
        expect(klass).to receive(:perform_in).with(1, event_data)
        subject
      end
    end

    context 'for not delayed workers' do
      let(:klass) { MyEventWorker }
      subject { klass.perform_where_needed(event_data) }

      it 'uses perform_async to execute wherever' do
        expect(klass).to receive(:perform_async).with(event_data)
        subject
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
reactor-2.0.1 spec/support/shared_examples.rb
reactor-2.0.0 spec/support/shared_examples.rb
reactor-1.0.2 spec/support/shared_examples.rb
reactor-1.0.1 spec/support/shared_examples.rb
reactor-1.0.0 spec/support/shared_examples.rb