Sha256: dd89d5ead85c69d19e6433f8ba878f5e0bd0a1884429708a3bfbc90674eabc08

Contents?: true

Size: 1.98 KB

Versions: 5

Compression:

Stored size: 1.98 KB

Contents

require File.expand_path('../../lib/tickwork', __FILE__)
require File.expand_path('../data_stores/fake_store.rb', __FILE__)
require 'mocha/mini_test'
require "minitest/autorun"

describe Tickwork::Event do
  describe '#thread?' do
    before do
      @manager = Class.new
      @data_store = Tickwork::FakeStore.new
    end

    describe 'manager config thread option set to true' do
      before do
        @manager.stubs(:config).returns({ :thread => true })
        @manager.stubs(:data_store).returns(@data_store)
      end

      it 'is true' do
        event = Tickwork::Event.new(@manager, nil, 'unnamed', nil)
        assert_equal true, event.thread?
      end

      it 'is false when event thread option set' do
        event = Tickwork::Event.new(@manager, nil, 'unnamed', nil, :thread => false)
        assert_equal false, event.thread?
      end
    end

    describe 'manager config thread option not set' do
      before do
        @manager.stubs(:config).returns({})
      end

      it 'is true if event thread option is true' do
        event = Tickwork::Event.new(@manager, nil, 'unnamed', nil, :thread => true)
        assert_equal true, event.thread?
      end
    end

    describe 'job name' do 
      before do
        @manager.stubs(:config).returns({})
      end
      it 'is required' do 
        assert_raises(Tickwork::Event::IllegalJobName) do  
          Tickwork::Event.new(@manager, nil, nil, nil)
        end
      end
      it 'must be a string' do 
        assert_raises(Tickwork::Event::IllegalJobName) do  
          Tickwork::Event.new(@manager, nil, Class.new, nil)
        end
      end
      it 'must not be empty' do 
        assert_raises(Tickwork::Event::IllegalJobName) do  
          Tickwork::Event.new(@manager, nil, '', nil)
        end
      end
      it 'raises exception on manager key name clash' do      
        assert_raises(Tickwork::Event::IllegalJobName) do  
          Tickwork::Event.new(@manager, nil, '__manager', nil)
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
tickwork-0.9.2 test/event_test.rb
tickwork-0.9.1 test/event_test.rb
tickwork-0.9.0 test/event_test.rb
tickwork-0.1.0 test/event_test.rb
tickwork-0.0.1 test/event_test.rb