require 'rails_helper' describe JobsHelper do let(:job) { Delayed::Job.new } describe '#status' do it "works for failed jobs" do job.failed_at = Time.now expect(status(job)).to eq('failed') end it "works for running jobs" do job.locked_at = Time.now job.locked_by = 'test' expect(status(job)).to eq('running') end it "works for queued jobs" do expect(status(job)).to eq('queued') end end describe '#relative_distance_of_time_in_words' do it "in the past" do expect(relative_distance_of_time_in_words(Time.now-5.minutes)).to eq('5m ago') end it "in the future" do expect(relative_distance_of_time_in_words(Time.now+5.minutes)).to eq('in 5m') end end describe "#agent_from_job" do context "when handler does not contain job_data" do before do job.handler = "--- !ruby/object:AgentCheckJob\narguments:\n- 1\n" end it "finds the agent for AgentCheckJob" do expect(agent_from_job(job)).to eq(false) end end end end