Sha256: ae5332579ca265c79380245a91a5054fe46635f99fa08b09c3db6d0ab99442cf
Contents?: true
Size: 1.47 KB
Versions: 5
Compression:
Stored size: 1.47 KB
Contents
require 'spec_helper' describe Gush::Worker do subject { described_class.new } let!(:workflow) { TestWorkflow.create } let!(:job) { client.find_job(workflow.id, "Prepare") } let(:config) { Gush.configuration.to_json } let!(:client) { Gush::Client.new } describe "#perform" do context "when job fails" do it "should mark it as failed" do class FailingJob < Gush::Job def perform invalid.code_to_raise.error end end class FailingWorkflow < Gush::Workflow def configure run FailingJob end end workflow = FailingWorkflow.create expect do subject.perform(workflow.id, "FailingJob") end.to raise_error(NameError) expect(client.find_job(workflow.id, "FailingJob")).to be_failed end end context "when job completes successfully" do it "should mark it as succedeed" do expect(subject).to receive(:mark_as_finished) subject.perform(workflow.id, "Prepare") end end it "calls job.perform method" do SPY = double() expect(SPY).to receive(:some_method) class OkayJob < Gush::Job def perform SPY.some_method end end class OkayWorkflow < Gush::Workflow def configure run OkayJob end end workflow = OkayWorkflow.create subject.perform(workflow.id, 'OkayJob') end end end
Version data entries
5 entries across 5 versions & 1 rubygems
Version | Path |
---|---|
gush-2.0.1 | spec/gush/worker_spec.rb |
gush-2.0.0 | spec/gush/worker_spec.rb |
gush-1.1.1 | spec/gush/worker_spec.rb |
gush-1.1.0 | spec/gush/worker_spec.rb |
gush-1.0.0 | spec/gush/worker_spec.rb |