test/event_test.rb in clockwork-2.0.2 vs test/event_test.rb in clockwork-2.0.3

- old
+ new

@@ -32,6 +32,43 @@ event = Clockwork::Event.new(@manager, nil, nil, nil, :thread => true) assert_equal true, event.thread? end end end + + describe '#run_now?' do + before do + @manager = Class.new + @manager.stubs(:config).returns({}) + end + + describe 'event skip_first_run option set to true' do + it 'returns false on first attempt' do + event = Clockwork::Event.new(@manager, 1, nil, nil, :skip_first_run => true) + assert_equal false, event.run_now?(Time.now) + end + + it 'returns true on subsequent attempts' do + event = Clockwork::Event.new(@manager, 1, nil, nil, :skip_first_run => true) + # first run + event.run_now?(Time.now) + + # second run + assert_equal true, event.run_now?(Time.now + 1) + end + end + + describe 'event skip_first_run option not set' do + it 'returns true on first attempt' do + event = Clockwork::Event.new(@manager, 1, nil, nil) + assert_equal true, event.run_now?(Time.now + 1) + end + end + + describe 'event skip_first_run option set to false' do + it 'returns true on first attempt' do + event = Clockwork::Event.new(@manager, 1, nil, nil, :skip_first_run => false) + assert_equal true, event.run_now?(Time.now) + end + end + end end