Sha256: 583935fd81a01aebe68c24c8b6d89007a568418d942550b6ef7b7dbae568c392

Contents?: true

Size: 1.28 KB

Versions: 289

Compression:

Stored size: 1.28 KB

Contents

require_relative '../test_helper'

class ExerciseTestTasksTest < Minitest::Test
  def test_all_exercises_task
    setup_rake

    Exercise.stub :all, ['test1', 'test2'] do
      ExerciseTestTasks.new(options: '')

      assert_equal ['test1', 'test2'], Rake::Task['exercises'].prerequisites
      assert_equal 'Run the tests for all exercises', Rake::Task['exercises'].comment
    end
  end

  def test_individual_exercise_tasks
    setup_rake

    Exercise.stub :all, ['test1', 'test2'] do
      mock_test_runner_instance = Minitest::Mock.new
      mock_test_runner_instance.expect :run, nil
      mock_test_runner_instance.expect :run, nil

      mock_test_runner = Minitest::Mock.new
      mock_test_runner.expect(
        :new,
        mock_test_runner_instance,
        [exercise: 'test1', test_options: '-p'],
      )
      mock_test_runner.expect(
        :new,
        mock_test_runner_instance,
        [exercise: 'test2', test_options: '-p'],
      )

      ExerciseTestTasks.new(options: '-p', test_runner: mock_test_runner)

      Rake::Task['test1'].invoke
      Rake::Task['test2'].invoke

      mock_test_runner.verify
      mock_test_runner_instance.verify
    end
  end

  def setup_rake
    Rake.application = Rake::Application.new
    Rake::TaskManager.record_task_metadata = true
  end
end

Version data entries

289 entries across 289 versions & 1 rubygems

Version Path
trackler-2.2.1.137 tracks/ruby/test/tasks/exercise_test_tasks_test.rb
trackler-2.2.1.136 tracks/ruby/test/tasks/exercise_test_tasks_test.rb
trackler-2.2.1.135 tracks/ruby/test/tasks/exercise_test_tasks_test.rb
trackler-2.2.1.134 tracks/ruby/test/tasks/exercise_test_tasks_test.rb
trackler-2.2.1.133 tracks/ruby/test/tasks/exercise_test_tasks_test.rb
trackler-2.2.1.132 tracks/ruby/test/tasks/exercise_test_tasks_test.rb
trackler-2.2.1.131 tracks/ruby/test/tasks/exercise_test_tasks_test.rb
trackler-2.2.1.130 tracks/ruby/test/tasks/exercise_test_tasks_test.rb
trackler-2.2.1.129 tracks/ruby/test/tasks/exercise_test_tasks_test.rb
trackler-2.2.1.128 tracks/ruby/test/tasks/exercise_test_tasks_test.rb
trackler-2.2.1.127 tracks/ruby/test/tasks/exercise_test_tasks_test.rb
trackler-2.2.1.126 tracks/ruby/test/tasks/exercise_test_tasks_test.rb
trackler-2.2.1.125 tracks/ruby/test/tasks/exercise_test_tasks_test.rb
trackler-2.2.1.124 tracks/ruby/test/tasks/exercise_test_tasks_test.rb
trackler-2.2.1.123 tracks/ruby/test/tasks/exercise_test_tasks_test.rb
trackler-2.2.1.122 tracks/ruby/test/tasks/exercise_test_tasks_test.rb
trackler-2.2.1.121 tracks/ruby/test/tasks/exercise_test_tasks_test.rb
trackler-2.2.1.120 tracks/ruby/test/tasks/exercise_test_tasks_test.rb
trackler-2.2.1.119 tracks/ruby/test/tasks/exercise_test_tasks_test.rb
trackler-2.2.1.118 tracks/ruby/test/tasks/exercise_test_tasks_test.rb