Sha256: ffb69b23e26ca216988f1920e4b3ec8155c392491433fb18de1be2a0ff378f12
Contents?: true
Size: 1.7 KB
Versions: 2
Compression:
Stored size: 1.7 KB
Contents
# encoding: utf-8 require 'minitest_helper' describe SayWhen::Scheduler do let (:scheduler) { SayWhen::Scheduler.new } it 'has a logger' do scheduler.logger.must_be_instance_of Logger end it 'extracts data' do scheduler.extract_data({}).must_be_nil scheduler.extract_data(data: 'data').must_equal 'data' end it 'extracts job method' do scheduler.extract_job_method({}).must_equal 'execute' scheduler.extract_job_method(job_method: 'just_doit').must_equal 'just_doit' scheduler.extract_job_method(method: 'doit').must_equal 'doit' end it 'extracts job class' do scheduler.extract_job_class(job_class: 'foo').must_equal 'foo' scheduler.extract_job_class(class: 'foo').must_equal 'foo' scheduler.extract_job_class(SayWhen::Test::TestTask).must_equal 'SayWhen::Test::TestTask' scheduler.extract_job_class('SayWhen::Test::TestTask').must_equal 'SayWhen::Test::TestTask' lambda do scheduler.extract_job_class(bar: 'foo') end.must_raise RuntimeError end it 'gets job options' do keys = [:job_class, :job_method, :data] opts = scheduler.job_options(keys.inject({}) { |s, k| s[k] = k.to_s; s } ) keys.each{|k| opts[k].must_equal k.to_s } end it 'can schedule a new job' do job = scheduler.schedule( trigger_strategy: 'once', trigger_options: { at: 10.second.since }, job_class: 'SayWhen::Test::TestTask', job_method: 'execute' ) job.wont_be_nil end it 'can schedule a cron job' do job = scheduler.schedule_cron("0 0 12 ? * * *", SayWhen::Test::TestTask) job.wont_be_nil end it 'should provide the storage strategy' do scheduler.storage.must_equal SayWhen::Storage::MemoryStrategy end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
say_when-2.0.1 | test/say_when/scheduler_test.rb |
say_when-2.0.0 | test/say_when/scheduler_test.rb |