class PerformedJobsTest

Public Instance Methods

test_assert_no_performed_jobs() click to toggle source
# File activejob/test/cases/test_helper_test.rb, line 542
def test_assert_no_performed_jobs
  assert_nothing_raised do
    assert_no_performed_jobs do
      # empty block won't perform jobs
    end
  end
end
test_assert_no_performed_jobs_failure() click to toggle source
# File activejob/test/cases/test_helper_test.rb, line 571
def test_assert_no_performed_jobs_failure
  error = assert_raise ActiveSupport::TestCase::Assertion do
    assert_no_performed_jobs do
      HelloJob.perform_later("jeremy")
    end
  end

  assert_match(/0 .* but 1/, error.message)
end
test_assert_no_performed_jobs_with_except_option() click to toggle source
# File activejob/test/cases/test_helper_test.rb, line 743
def test_assert_no_performed_jobs_with_except_option
  assert_nothing_raised do
    assert_no_performed_jobs except: LoggingJob do
      LoggingJob.perform_later
    end
  end
end
test_assert_no_performed_jobs_with_except_option_as_array() click to toggle source
# File activejob/test/cases/test_helper_test.rb, line 769
def test_assert_no_performed_jobs_with_except_option_as_array
  assert_nothing_raised do
    assert_no_performed_jobs except: [HelloJob, RescueJob] do
      HelloJob.perform_later
      RescueJob.perform_later
    end
  end
end
test_assert_no_performed_jobs_with_except_option_failure() click to toggle source
# File activejob/test/cases/test_helper_test.rb, line 799
def test_assert_no_performed_jobs_with_except_option_failure
  error = assert_raise ActiveSupport::TestCase::Assertion do
    assert_no_performed_jobs except: LoggingJob do
      HelloJob.perform_later("jeremy")
      LoggingJob.perform_later
    end
  end

  assert_match(/0 .* but 1/, error.message)
end
test_assert_no_performed_jobs_with_no_block() click to toggle source
# File activejob/test/cases/test_helper_test.rb, line 536
def test_assert_no_performed_jobs_with_no_block
  assert_nothing_raised do
    assert_no_performed_jobs
  end
end
test_assert_no_performed_jobs_with_only_and_except_option() click to toggle source
# File activejob/test/cases/test_helper_test.rb, line 751
def test_assert_no_performed_jobs_with_only_and_except_option
  error = assert_raise ArgumentError do
    assert_no_performed_jobs only: HelloJob, except: HelloJob do
      LoggingJob.perform_later
    end
  end

  assert_match(/`:only` and `:except`/, error.message)
end
test_assert_no_performed_jobs_with_only_and_except_option_as_array() click to toggle source
# File activejob/test/cases/test_helper_test.rb, line 778
def test_assert_no_performed_jobs_with_only_and_except_option_as_array
  error = assert_raise ArgumentError do
    assert_no_performed_jobs only: [HelloJob, RescueJob], except: [HelloJob, RescueJob] do
      LoggingJob.perform_later
    end
  end

  assert_match(/`:only` and `:except`/, error.message)
end
test_assert_no_performed_jobs_with_only_and_except_option_failure() click to toggle source
# File activejob/test/cases/test_helper_test.rb, line 810
def test_assert_no_performed_jobs_with_only_and_except_option_failure
  error = assert_raise ArgumentError do
    assert_no_performed_jobs only: HelloJob, except: HelloJob do
      HelloJob.perform_later("jeremy")
      LoggingJob.perform_later
    end
  end

  assert_match(/`:only` and `:except`/, error.message)
end
test_assert_no_performed_jobs_with_only_option() click to toggle source
# File activejob/test/cases/test_helper_test.rb, line 735
def test_assert_no_performed_jobs_with_only_option
  assert_nothing_raised do
    assert_no_performed_jobs only: HelloJob do
      LoggingJob.perform_later
    end
  end
end
test_assert_no_performed_jobs_with_only_option_as_array() click to toggle source
# File activejob/test/cases/test_helper_test.rb, line 761
def test_assert_no_performed_jobs_with_only_option_as_array
  assert_nothing_raised do
    assert_no_performed_jobs only: [HelloJob, RescueJob] do
      LoggingJob.perform_later
    end
  end
end
test_assert_no_performed_jobs_with_only_option_failure() click to toggle source
# File activejob/test/cases/test_helper_test.rb, line 788
def test_assert_no_performed_jobs_with_only_option_failure
  error = assert_raise ActiveSupport::TestCase::Assertion do
    assert_no_performed_jobs only: HelloJob do
      HelloJob.perform_later("jeremy")
      LoggingJob.perform_later
    end
  end

  assert_match(/0 .* but 1/, error.message)
end
test_assert_performed_job() click to toggle source
# File activejob/test/cases/test_helper_test.rb, line 821
def test_assert_performed_job
  assert_performed_with(job: NestedJob, queue: "default") do
    NestedJob.perform_later
  end
end
test_assert_performed_job_does_not_change_jobs_count() click to toggle source
# File activejob/test/cases/test_helper_test.rb, line 883
def test_assert_performed_job_does_not_change_jobs_count
  assert_performed_with(job: HelloJob) do
    HelloJob.perform_later
  end

  assert_performed_with(job: HelloJob) do
    HelloJob.perform_later
  end

  assert_equal 2, queue_adapter.performed_jobs.count
end
test_assert_performed_job_failure() click to toggle source
# File activejob/test/cases/test_helper_test.rb, line 838
def test_assert_performed_job_failure
  assert_raise ActiveSupport::TestCase::Assertion do
    assert_performed_with(job: LoggingJob) do
      HelloJob.perform_later
    end
  end

  assert_raise ActiveSupport::TestCase::Assertion do
    assert_performed_with(job: HelloJob, queue: "low") do
      HelloJob.set(queue: "important").perform_later
    end
  end
end
test_assert_performed_job_failure_with_global_id_args() click to toggle source
# File activejob/test/cases/test_helper_test.rb, line 871
def test_assert_performed_job_failure_with_global_id_args
  ricardo = Person.new(9)
  wilma = Person.new(11)
  error = assert_raise ActiveSupport::TestCase::Assertion do
    assert_performed_with(job: HelloJob, args: [wilma]) do
      HelloJob.perform_later(ricardo)
    end
  end

  assert_equal "No performed job found with {:job=>HelloJob, :args=>[#{wilma.inspect}]}", error.message
end
test_assert_performed_job_returns() click to toggle source
# File activejob/test/cases/test_helper_test.rb, line 827
def test_assert_performed_job_returns
  job = assert_performed_with(job: NestedJob, queue: "default") do
    NestedJob.perform_later
  end

  assert_instance_of NestedJob, job
  assert_nil job.scheduled_at
  assert_equal [], job.arguments
  assert_equal "default", job.queue_name
end
test_assert_performed_job_with_at_option() click to toggle source
# File activejob/test/cases/test_helper_test.rb, line 852
def test_assert_performed_job_with_at_option
  assert_performed_with(job: HelloJob, at: Date.tomorrow.noon) do
    HelloJob.set(wait_until: Date.tomorrow.noon).perform_later
  end

  assert_raise ActiveSupport::TestCase::Assertion do
    assert_performed_with(job: HelloJob, at: Date.today.noon) do
      HelloJob.set(wait_until: Date.tomorrow.noon).perform_later
    end
  end
end
test_assert_performed_job_with_global_id_args() click to toggle source
# File activejob/test/cases/test_helper_test.rb, line 864
def test_assert_performed_job_with_global_id_args
  ricardo = Person.new(9)
  assert_performed_with(job: HelloJob, args: [ricardo]) do
    HelloJob.perform_later(ricardo)
  end
end
test_assert_performed_jobs() click to toggle source
# File activejob/test/cases/test_helper_test.rb, line 485
def test_assert_performed_jobs
  assert_nothing_raised do
    assert_performed_jobs 1 do
      HelloJob.perform_later("david")
    end
  end
end
test_assert_performed_jobs_message() click to toggle source
# File activejob/test/cases/test_helper_test.rb, line 508
def test_assert_performed_jobs_message
  HelloJob.perform_later("sean")
  e = assert_raises Minitest::Assertion do
    assert_performed_jobs 2 do
      HelloJob.perform_later("sean")
    end
  end
  assert_match "Expected: 2", e.message
  assert_match "Actual: 1", e.message
end
test_assert_performed_jobs_too_few_sent() click to toggle source
# File activejob/test/cases/test_helper_test.rb, line 550
def test_assert_performed_jobs_too_few_sent
  error = assert_raise ActiveSupport::TestCase::Assertion do
    assert_performed_jobs 2 do
      HelloJob.perform_later("xavier")
    end
  end

  assert_match(/2 .* but 1/, error.message)
end
test_assert_performed_jobs_too_many_sent() click to toggle source
# File activejob/test/cases/test_helper_test.rb, line 560
def test_assert_performed_jobs_too_many_sent
  error = assert_raise ActiveSupport::TestCase::Assertion do
    assert_performed_jobs 1 do
      HelloJob.perform_later("cristian")
      HelloJob.perform_later("guillermo")
    end
  end

  assert_match(/1 .* but 2/, error.message)
end
test_assert_performed_jobs_with_except_option() click to toggle source
# File activejob/test/cases/test_helper_test.rb, line 590
def test_assert_performed_jobs_with_except_option
  assert_nothing_raised do
    assert_performed_jobs 1, except: LoggingJob do
      HelloJob.perform_later("jeremy")
      LoggingJob.perform_later
    end
  end
end
test_assert_performed_jobs_with_except_option_and_none_sent() click to toggle source
# File activejob/test/cases/test_helper_test.rb, line 652
def test_assert_performed_jobs_with_except_option_and_none_sent
  error = assert_raise ActiveSupport::TestCase::Assertion do
    assert_performed_jobs 1, except: LoggingJob do
      LoggingJob.perform_later
    end
  end

  assert_match(/1 .* but 0/, error.message)
end
test_assert_performed_jobs_with_except_option_and_too_few_sent() click to toggle source
# File activejob/test/cases/test_helper_test.rb, line 683
def test_assert_performed_jobs_with_except_option_and_too_few_sent
  error = assert_raise ActiveSupport::TestCase::Assertion do
    assert_performed_jobs 5, except: LoggingJob do
      HelloJob.perform_later("jeremy")
      4.times { LoggingJob.perform_later }
    end
  end

  assert_match(/5 .* but 1/, error.message)
end
test_assert_performed_jobs_with_except_option_and_too_many_sent() click to toggle source
# File activejob/test/cases/test_helper_test.rb, line 715
def test_assert_performed_jobs_with_except_option_and_too_many_sent
  error = assert_raise ActiveSupport::TestCase::Assertion do
    assert_performed_jobs 1, except: LoggingJob do
      2.times { HelloJob.perform_later("jeremy") }
    end
  end

  assert_match(/1 .* but 2/, error.message)
end
test_assert_performed_jobs_with_except_option_as_array() click to toggle source
# File activejob/test/cases/test_helper_test.rb, line 620
def test_assert_performed_jobs_with_except_option_as_array
  assert_nothing_raised do
    assert_performed_jobs 1, except: [LoggingJob, RescueJob] do
      HelloJob.perform_later("jeremy")
      LoggingJob.perform_later("stewie")
      RescueJob.perform_later("david")
    end
  end
end
test_assert_performed_jobs_with_no_block() click to toggle source
# File activejob/test/cases/test_helper_test.rb, line 519
def test_assert_performed_jobs_with_no_block
  assert_nothing_raised do
    perform_enqueued_jobs do
      HelloJob.perform_later("rafael")
    end
    assert_performed_jobs 1
  end

  assert_nothing_raised do
    perform_enqueued_jobs do
      HelloJob.perform_later("aaron")
      HelloJob.perform_later("matthew")
      assert_performed_jobs 3
    end
  end
end
test_assert_performed_jobs_with_only_and_except_option() click to toggle source
# File activejob/test/cases/test_helper_test.rb, line 599
def test_assert_performed_jobs_with_only_and_except_option
  error = assert_raise ArgumentError do
    assert_performed_jobs 1, only: HelloJob, except: HelloJob do
      HelloJob.perform_later("jeremy")
      LoggingJob.perform_later
    end
  end

  assert_match(/`:only` and `:except`/, error.message)
end
test_assert_performed_jobs_with_only_and_except_option_and_none_sent() click to toggle source
# File activejob/test/cases/test_helper_test.rb, line 662
def test_assert_performed_jobs_with_only_and_except_option_and_none_sent
  error = assert_raise ArgumentError do
    assert_performed_jobs 1, only: HelloJob, except: HelloJob do
      LoggingJob.perform_later
    end
  end

  assert_match(/`:only` and `:except`/, error.message)
end
test_assert_performed_jobs_with_only_and_except_option_and_too_few_sent() click to toggle source
# File activejob/test/cases/test_helper_test.rb, line 694
def test_assert_performed_jobs_with_only_and_except_option_and_too_few_sent
  error = assert_raise ArgumentError do
    assert_performed_jobs 5, only: HelloJob, except: HelloJob do
      HelloJob.perform_later("jeremy")
      4.times { LoggingJob.perform_later }
    end
  end

  assert_match(/`:only` and `:except`/, error.message)
end
test_assert_performed_jobs_with_only_and_except_option_and_too_many_sent() click to toggle source
# File activejob/test/cases/test_helper_test.rb, line 725
def test_assert_performed_jobs_with_only_and_except_option_and_too_many_sent
  error = assert_raise ArgumentError do
    assert_performed_jobs 1, only: HelloJob, except: HelloJob do
      2.times { HelloJob.perform_later("jeremy") }
    end
  end

  assert_match(/`:only` and `:except`/, error.message)
end
test_assert_performed_jobs_with_only_and_except_option_as_array() click to toggle source
# File activejob/test/cases/test_helper_test.rb, line 630
def test_assert_performed_jobs_with_only_and_except_option_as_array
  error = assert_raise ArgumentError do
    assert_performed_jobs 2, only: [HelloJob, LoggingJob], except: [HelloJob, LoggingJob] do
      HelloJob.perform_later("jeremy")
      LoggingJob.perform_later("stewie")
      RescueJob.perform_later("david")
    end
  end

  assert_match(/`:only` and `:except`/, error.message)
end
test_assert_performed_jobs_with_only_option() click to toggle source
# File activejob/test/cases/test_helper_test.rb, line 581
def test_assert_performed_jobs_with_only_option
  assert_nothing_raised do
    assert_performed_jobs 1, only: HelloJob do
      HelloJob.perform_later("jeremy")
      LoggingJob.perform_later
    end
  end
end
test_assert_performed_jobs_with_only_option_and_none_sent() click to toggle source
# File activejob/test/cases/test_helper_test.rb, line 642
def test_assert_performed_jobs_with_only_option_and_none_sent
  error = assert_raise ActiveSupport::TestCase::Assertion do
    assert_performed_jobs 1, only: HelloJob do
      LoggingJob.perform_later
    end
  end

  assert_match(/1 .* but 0/, error.message)
end
test_assert_performed_jobs_with_only_option_and_too_few_sent() click to toggle source
# File activejob/test/cases/test_helper_test.rb, line 672
def test_assert_performed_jobs_with_only_option_and_too_few_sent
  error = assert_raise ActiveSupport::TestCase::Assertion do
    assert_performed_jobs 5, only: HelloJob do
      HelloJob.perform_later("jeremy")
      4.times { LoggingJob.perform_later }
    end
  end

  assert_match(/5 .* but 1/, error.message)
end
test_assert_performed_jobs_with_only_option_and_too_many_sent() click to toggle source
# File activejob/test/cases/test_helper_test.rb, line 705
def test_assert_performed_jobs_with_only_option_and_too_many_sent
  error = assert_raise ActiveSupport::TestCase::Assertion do
    assert_performed_jobs 1, only: HelloJob do
      2.times { HelloJob.perform_later("jeremy") }
    end
  end

  assert_match(/1 .* but 2/, error.message)
end
test_assert_performed_jobs_with_only_option_as_array() click to toggle source
# File activejob/test/cases/test_helper_test.rb, line 610
def test_assert_performed_jobs_with_only_option_as_array
  assert_nothing_raised do
    assert_performed_jobs 2, only: [HelloJob, LoggingJob] do
      HelloJob.perform_later("jeremy")
      LoggingJob.perform_later("stewie")
      RescueJob.perform_later("david")
    end
  end
end
test_performed_enqueue_jobs_with_except_option_doesnt_leak_outside_the_block() click to toggle source
# File activejob/test/cases/test_helper_test.rb, line 477
def test_performed_enqueue_jobs_with_except_option_doesnt_leak_outside_the_block
  assert_nil queue_adapter.reject
  perform_enqueued_jobs except: HelloJob do
    assert_equal HelloJob, queue_adapter.reject
  end
  assert_nil queue_adapter.reject
end
test_performed_enqueue_jobs_with_only_option_doesnt_leak_outside_the_block() click to toggle source
# File activejob/test/cases/test_helper_test.rb, line 469
def test_performed_enqueue_jobs_with_only_option_doesnt_leak_outside_the_block
  assert_nil queue_adapter.filter
  perform_enqueued_jobs only: HelloJob do
    assert_equal HelloJob, queue_adapter.filter
  end
  assert_nil queue_adapter.filter
end
test_repeated_performed_jobs_calls() click to toggle source
# File activejob/test/cases/test_helper_test.rb, line 493
def test_repeated_performed_jobs_calls
  assert_nothing_raised do
    assert_performed_jobs 1 do
      HelloJob.perform_later("abdelkader")
    end
  end

  assert_nothing_raised do
    assert_performed_jobs 2 do
      HelloJob.perform_later("sean")
      HelloJob.perform_later("yves")
    end
  end
end