Sha256: a5a1c15b12784b0d3b2cdc932047cd6caf2e49b6d31b0e3aa480a6d35212b916

Contents?: true

Size: 1.07 KB

Versions: 2

Compression:

Stored size: 1.07 KB

Contents

require 'spec_helper'

describe Krikri::Job do
  let(:agent) { double('agent') }

  describe '.perform' do
    let(:activity_id) { 1 }
    let(:activity) { double('activity') }

    before do
      allow(Krikri::Activity).to receive(:find).with(activity_id)
                                  .and_return(activity)
    end

    it 'calls #run on activity by id' do
      expect(activity).to receive(:run).and_return(true)
      described_class.perform(activity_id)
    end

    it 'passes its run method to block' do
      uri = double('uri')
      expect(activity).to receive(:run).and_yield(agent, uri)
      expect(described_class).to receive(:run).with(agent, uri)
      described_class.perform(activity_id)
    end
  end

  describe '.run' do
    it 'calls #run on agent' do
      activity_uri = double('uri')
      expect(agent).to receive(:run).with(activity_uri).and_return(true)
      described_class.run(agent, activity_uri)
    end

    it 'defaults activity to nil' do
      expect(agent).to receive(:run).with(nil).and_return(true)
      described_class.run(agent)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
krikri-0.5.0 spec/lib/krikri/job_spec.rb
krikri-0.4.0 spec/lib/krikri/job_spec.rb