Sha256: 159cb185b5ab72dd8e6a3311bba90588a8fdc83c62f3461fb4b756b1fd7d3be8

Contents?: true

Size: 1.41 KB

Versions: 3

Compression:

Stored size: 1.41 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_true
    end

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

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

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

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

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

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
delayed-web-0.4.1 spec/decorators/status_decorator_spec.rb
delayed-web-0.4.0 spec/decorators/status_decorator_spec.rb
delayed-web-0.3.0 spec/decorators/status_decorator_spec.rb