Sha256: 3b330af94597ba26fe858b63d044bf3d232cd416d5e2b4d1b1193ec6d80e0558

Contents?: true

Size: 1.25 KB

Versions: 2

Compression:

Stored size: 1.25 KB

Contents

require_relative 'helper'

class TestWeb < Sidetiq::TestCase
  include Rack::Test::Methods

  class Worker
    include Sidekiq::Worker
    include Sidetiq::Schedulable

    tiq do
      daily(1)
      yearly(2)
      monthly(3)

      add_exception_rule yearly.month_of_year(:february)
    end
  end

  def app
    Sidekiq::Web
  end

  def test_home_tab
    get '/'
    assert_equal 200, last_response.status
    assert_match last_response.body, /Sidekiq/
    assert_match last_response.body, /Sidetiq/
  end

  def test_sidetiq_page
    get '/sidetiq'
    assert_equal 200, last_response.status

    clock.schedules.each do |worker, schedule|
      assert_match last_response.body, /#{worker.name}/
      assert_match last_response.body, /#{worker.get_sidekiq_options['queue']}/
    end
  end

  def test_details_page
    get "/sidetiq/#{Worker.name}"
    assert_equal 200, last_response.status
    schedule = clock.schedules[Worker]

    schedule.recurrence_rules.each do |rule|
      assert_match last_response.body, /#{rule.to_s}/
    end

    schedule.exception_rules.each do |rule|
      assert_match last_response.body, /#{rule.to_s}/
    end

    schedule.next_occurrences(10).each do |time|
      assert_match last_response.body, /#{time.getutc.to_s}/
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
sidetiq-0.1.3 test/test_web.rb
sidetiq-0.1.2 test/test_web.rb