Sha256: effd59fc6530bc1ff86b3f40286fde0caa65113aa2b29fd47da88ec506246683

Contents?: true

Size: 1.33 KB

Versions: 14

Compression:

Stored size: 1.33 KB

Contents

require_relative '../spec_helper'

describe Sqewer::ExecutionContext do
  it 'offers a submit! that goes through the given Submitter argument' do
    fake_submitter = double('Submitter')
    expect(fake_submitter).to receive(:submit!).with(:fake_job, {})
    
    subject = described_class.new(fake_submitter)
    subject.submit!(:fake_job)
  end
  
  it 'offers arbitrary key/value storage' do
    fake_submitter = double('Submitter')
    subject = described_class.new(fake_submitter)
    
    subject['foo'] = 123
    expect(subject['foo']).to eq(123)
    expect(subject[:foo]).to eq(123)
    expect(subject.fetch(:foo)).to eq(123)
    
    expect {
      subject.fetch(:bar)
    }.to raise_error(KeyError)
    
    default_value = subject.fetch(:bar) { 123 }
    expect(default_value).to eq(123)
  end
  
  it 'returns the NullLogger from #logger if no logger was passed to the constructor' do
    fake_submitter = double('Submitter')
    
    subject = described_class.new(fake_submitter)
    expect(subject.logger).to eq(Sqewer::NullLogger)
  end
  
  it 'offers access to the given "logger" extra param if it was given to the constructor' do
    fake_submitter = double('Submitter')
    fake_logger = double('Logger')
    
    subject = described_class.new(fake_submitter, {'logger' => fake_logger})
    expect(subject.logger).to eq(fake_logger)
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
sqewer-5.0.3 spec/sqewer/execution_context_spec.rb
sqewer-5.0.2 spec/sqewer/execution_context_spec.rb
sqewer-5.0.1 spec/sqewer/execution_context_spec.rb
sqewer-5.0.0 spec/sqewer/execution_context_spec.rb
sqewer-4.2.0 spec/sqewer/execution_context_spec.rb
sqewer-4.1.0 spec/sqewer/execution_context_spec.rb
sqewer-4.0.1 spec/sqewer/execution_context_spec.rb
sqewer-4.0.0 spec/sqewer/execution_context_spec.rb
sqewer-3.0.1 spec/sqewer/execution_context_spec.rb
sqewer-3.0.0 spec/sqewer/execution_context_spec.rb
sqewer-2.0.2 spec/sqewer/execution_context_spec.rb
sqewer-2.0.1 spec/sqewer/execution_context_spec.rb
sqewer-2.0.0 spec/sqewer/execution_context_spec.rb
sqewer-1.0.0 spec/sqewer/execution_context_spec.rb