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