Sha256: ca283003e4c287495976e9e3502dfcd0384f649b26dc4d5e2125f30bd8da0946

Contents?: true

Size: 1.42 KB

Versions: 7

Compression:

Stored size: 1.42 KB

Contents

require 'spec_helper'

describe Delayed::Web::StatusDecorator do
  let(:executing_job) { Delayed::Web::StatusDecorator.new double('Delayed::Job', locked_at: Time.current, locked_by: 'host.local', failed_at: nil) }
  let(:failed_job)    { Delayed::Web::StatusDecorator.new double('Delayed::Job', locked_at: nil, locked_by: nil, failed_at: Time.current, last_error: 'RuntimeError: RuntimeError') }
  let(:queued_job)    { Delayed::Web::StatusDecorator.new double('Delayed::Job', locked_at: nil, locked_by: nil, failed_at: nil, last_error: '') }

  describe '#status' do
    it 'is executing' do
      expect(executing_job.status).to eq('executing')
    end

    it 'is failed' do
      expect(failed_job.status).to eq('failed')
    end

    it 'is queued' do
      expect(queued_job.status).to eq('queued')
    end
  end

  describe '#can_destroy?' do
    it 'is true when failed' do
      expect(failed_job.can_destroy?).to be_truthy
    end

    it 'is true when queued' do
      expect(queued_job.can_destroy?).to be_truthy
    end

    it 'is false when executing' do
      expect(executing_job.can_destroy?).to be_falsy
    end
  end

  describe '#can_queue?' do
    it 'is true when failed' do
      expect(failed_job.can_queue?).to be_truthy
    end

    it 'is true when queued' do
      expect(queued_job.can_queue?).to be_truthy
    end

    it 'is false when executing' do
      expect(executing_job.can_queue?).to be_falsy
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
delayed-web-0.4.9 spec/decorators/status_decorator_spec.rb
delayed-web-0.4.7 spec/decorators/status_decorator_spec.rb
delayed-web-0.4.6 spec/decorators/status_decorator_spec.rb
delayed-web-0.4.5 spec/decorators/status_decorator_spec.rb
delayed-web-0.4.4 spec/decorators/status_decorator_spec.rb
delayed-web-0.4.3 spec/decorators/status_decorator_spec.rb
delayed-web-0.4.2 spec/decorators/status_decorator_spec.rb