Sha256: 7ff295c379173fc2410a86aafd10e2ef67b69635ff93d398c3935040df95ba92

Contents?: true

Size: 1.17 KB

Versions: 52

Compression:

Stored size: 1.17 KB

Contents

require 'rake'
require 'foreman_tasks_test_helper'

class GenerateTaskActionsTest < ActiveSupport::TestCase
  TASK_NAME = 'foreman_tasks:generate_task_actions'.freeze

  setup do
    Rake.application.rake_require 'foreman_tasks/tasks/generate_task_actions'

    Rake::Task.define_task(:environment)
    Rake::Task[TASK_NAME].reenable
  end

  let(:tasks) do
    (1..5).map { FactoryBot.build(:dynflow_task) }
  end

  it 'fixes the tasks' do
    label = 'a label'
    tasks
    ForemanTasks::Task.update_all(:action => nil)
    ForemanTasks::Task.any_instance.stubs(:to_label).returns(label)

    stdout, _stderr = capture_io do
      Rake.application.invoke_task TASK_NAME
    end

    assert_match(%r{Generating action for #{tasks.count} tasks}, stdout)
    _(ForemanTasks::Task.where(:action => label).count).must_equal tasks.count
    assert_match(%r{Processed #{tasks.count}/#{tasks.count} tasks}, stdout)
  end

  it 'fixes only tasks with missing action' do
    tasks
    ForemanTasks::Task.any_instance.expects(:save!).never

    stdout, _stderr = capture_io do
      Rake.application.invoke_task TASK_NAME
    end

    assert_match(%r{Generating action for 0 tasks}, stdout)
  end
end

Version data entries

52 entries across 52 versions & 1 rubygems

Version Path
foreman-tasks-9.0.4 test/tasks/generate_task_actions_test.rb
foreman-tasks-9.1.0 test/tasks/generate_task_actions_test.rb
foreman-tasks-9.0.2 test/tasks/generate_task_actions_test.rb
foreman-tasks-9.0.1 test/tasks/generate_task_actions_test.rb
foreman-tasks-8.3.3 test/tasks/generate_task_actions_test.rb
foreman-tasks-9.0.0 test/tasks/generate_task_actions_test.rb
foreman-tasks-8.2.1 test/tasks/generate_task_actions_test.rb
foreman-tasks-8.1.4 test/tasks/generate_task_actions_test.rb
foreman-tasks-8.3.2 test/tasks/generate_task_actions_test.rb
foreman-tasks-8.3.1 test/tasks/generate_task_actions_test.rb
foreman-tasks-8.1.3 test/tasks/generate_task_actions_test.rb
foreman-tasks-8.3.0 test/tasks/generate_task_actions_test.rb
foreman-tasks-8.2.0 test/tasks/generate_task_actions_test.rb
foreman-tasks-8.1.2 test/tasks/generate_task_actions_test.rb
foreman-tasks-8.1.1 test/tasks/generate_task_actions_test.rb
foreman-tasks-8.1.0 test/tasks/generate_task_actions_test.rb
foreman-tasks-8.0.2 test/tasks/generate_task_actions_test.rb
foreman-tasks-8.0.1 test/tasks/generate_task_actions_test.rb
foreman-tasks-8.0.0 test/tasks/generate_task_actions_test.rb
foreman-tasks-7.2.1 test/tasks/generate_task_actions_test.rb