Skip to content

Commit

Permalink
reorganize specs
Browse files Browse the repository at this point in the history
  • Loading branch information
jmettraux committed Sep 22, 2013
1 parent 4c8640a commit a607a37
Show file tree
Hide file tree
Showing 12 changed files with 503 additions and 480 deletions.
58 changes: 58 additions & 0 deletions spec/job_at_spec.rb
@@ -0,0 +1,58 @@

#
# Specifying rufus-scheduler
#
# Wed Apr 17 06:00:59 JST 2013
#

require 'spec_helper'


describe Rufus::Scheduler::AtJob do

before :each do
@scheduler = Rufus::Scheduler.new
end
after :each do
@scheduler.shutdown
end

describe '#unschedule' do

it 'unschedules the job' do

job = @scheduler.at(Time.now + 3600, :job => true) do
end

job.unschedule

sleep 0.4

@scheduler.jobs.size.should == 0
end
end

describe '#scheduled_at' do

it 'returns the Time at which the job got scheduled' do

job = @scheduler.schedule_at((t = Time.now) + 3600) {}

job.scheduled_at.to_i.should >= t.to_i - 1
job.scheduled_at.to_i.should <= t.to_i + 1
end
end

describe '#time' do

it 'returns the time at which the job will trigger' do

t = Time.now + 3600

job = @scheduler.schedule_at t do; end

job.time.should == t
end
end
end

67 changes: 67 additions & 0 deletions spec/job_cron_spec.rb
@@ -0,0 +1,67 @@

#
# Specifying rufus-scheduler
#
# Wed Apr 17 06:00:59 JST 2013
#

require 'spec_helper'


describe Rufus::Scheduler::CronJob do

before :each do
@scheduler = Rufus::Scheduler.new
end
after :each do
@scheduler.shutdown
end

context 'normal' do

it 'triggers near the zero second' do

job = @scheduler.schedule_cron '* * * * *' do; end

sleep_until_next_minute

(job.last_time.to_i % 10).should == 0
end
end

#context 'sub-minute' do
#
# it 'triggers near the zero second' do
#
# job = @scheduler.schedule_cron '* * * * * *' do; end
#
# sleep 1.5
#
# p job.last_time
# p job.last_time.to_f
# end
#end

context 'first_at/in' do

it 'does not trigger before first_at is reached' do

t = Time.now

job =
@scheduler.schedule_cron '* * * * * *', :first_in => '3s' do
triggered = Time.now
end

sleep 1

#p [ t, t.to_f ]
#p [ job.last_time, job.last_time.to_f ]
#p [ job.first_at, job.first_at.to_f ]

job.first_at.should be_within_1s_of(t + 3)
job.last_time.should == nil
end
end
end

20 changes: 20 additions & 0 deletions spec/job_every_spec.rb
@@ -0,0 +1,20 @@

#
# Specifying rufus-scheduler
#
# Wed Apr 17 06:00:59 JST 2013
#

require 'spec_helper'


describe Rufus::Scheduler::EveryJob do

before :each do
@scheduler = Rufus::Scheduler.new
end
after :each do
@scheduler.shutdown
end
end

20 changes: 20 additions & 0 deletions spec/job_in_spec.rb
@@ -0,0 +1,20 @@

#
# Specifying rufus-scheduler
#
# Wed Apr 17 06:00:59 JST 2013
#

require 'spec_helper'


describe Rufus::Scheduler::InJob do

before :each do
@scheduler = Rufus::Scheduler.new
end
after :each do
@scheduler.shutdown
end
end

30 changes: 30 additions & 0 deletions spec/job_interval_spec.rb
@@ -0,0 +1,30 @@

#
# Specifying rufus-scheduler
#
# Wed Apr 17 06:00:59 JST 2013
#

require 'spec_helper'


describe Rufus::Scheduler::IntervalJob do

before :each do
@scheduler = Rufus::Scheduler.new
end
after :each do
@scheduler.shutdown
end

describe '#interval' do

it 'returns the scheduled interval' do

job = @scheduler.schedule_interval('1h') do; end

job.interval.should == 3600
end
end
end

0 comments on commit a607a37

Please sign in to comment.