Sha256: bdaf1fd0cba1acee6d0e74c099ac196b74d20196bf0c79d37e83f3fd638146ef
Contents?: true
Size: 1.33 KB
Versions: 1
Compression:
Stored size: 1.33 KB
Contents
require 'spec_helper' describe Delayed::Heartbeat::DeleteWorkerResults do let(:worker) { create_worker(name: 'my-worker') } let(:job) { create_job(locked_by: worker.name) } let(:results) { create_results([worker], [job]) } describe "#workers" do specify { expect(results.workers).to eq [worker] } end describe "#unlocked_jobs" do specify { expect(results.unlocked_jobs).to eq [job] } end describe "#to_s" do it "includes workers" do results = create_results([worker], []) expect(results.to_s).to include(worker.name) end it "includes jobs for known workers" do results = create_results([worker], [job]) expect(results.to_s).to include(job.id.to_s) end it "includes jobs locked by an unknown worker" do job = create_job(locked_by: 'unknown-worker') results = create_results([], [job]) expect(results.to_s).to include(job.id.to_s) expect(results.to_s).to include(job.locked_by) end end def create_worker(attributes = {}) Delayed::Heartbeat::Worker.create!(attributes) end def create_job(attributes = {}) attributes = attributes.reverse_merge(payload_object: TestJob.new) Delayed::Job.create!(attributes) end def create_results(workers, unlocked_jobs) Delayed::Heartbeat::DeleteWorkerResults.new(workers, unlocked_jobs) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
delayed_job_heartbeat_plugin-0.1.0 | spec/delayed/heartbeat/delete_worker_results_spec.rb |