Sha256: 2d1f9a74909cb6fbd3b67f6046fe3f559b4d7cacc8c089429006492adededa77

Contents?: true

Size: 1.21 KB

Versions: 229

Compression:

Stored size: 1.21 KB

Contents

require_relative '../test_helper'

class FakeExercise
  def slug
    'test'
  end

  alias :to_s :slug

  def directory
    'test/.'
  end

  def example_file
    '.meta/solutions/test.rb'
  end

  def testable_example_file
    'test.rb'
  end

  def test_file
    'test_test.rb'
  end
end

class ExerciseTestsRunnerTest < Minitest::Test
  def test_run
    Dir.stub :mktmpdir, nil, 'dir' do
      cp_mock = Minitest::Mock.new.expect(:call, nil, ['test/.', 'dir'])

      mv_mock = Minitest::Mock.new.expect(
        :call,
        nil,
        ['dir/.meta/solutions/test.rb', 'dir/test.rb'],
      )

      ruby_mock = Minitest::Mock.new.expect(
        :call,
        nil,
        ['-I lib -r disable_skip.rb dir/test_test.rb -p'],
      )

      FileUtils.stub :cp_r, cp_mock do
        FileUtils.stub :mv, mv_mock do
          runner = ExerciseTestsRunner.new(
            exercise: FakeExercise.new,
            test_options: '-p',
          )

          runner.stub :ruby, ruby_mock do
            assert_output "\n\n#{'-'*64}\nrunning tests for: test\n" do
              runner.run
            end
          end

          cp_mock.verify
          mv_mock.verify
          ruby_mock.verify
        end
      end
    end
  end
end

Version data entries

229 entries across 229 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/ruby/test/tasks/exercise_tests_runner_test.rb
trackler-2.2.1.179 tracks/ruby/test/tasks/exercise_tests_runner_test.rb
trackler-2.2.1.178 tracks/ruby/test/tasks/exercise_tests_runner_test.rb
trackler-2.2.1.177 tracks/ruby/test/tasks/exercise_tests_runner_test.rb
trackler-2.2.1.176 tracks/ruby/test/tasks/exercise_tests_runner_test.rb
trackler-2.2.1.175 tracks/ruby/test/tasks/exercise_tests_runner_test.rb
trackler-2.2.1.174 tracks/ruby/test/tasks/exercise_tests_runner_test.rb
trackler-2.2.1.173 tracks/ruby/test/tasks/exercise_tests_runner_test.rb
trackler-2.2.1.172 tracks/ruby/test/tasks/exercise_tests_runner_test.rb
trackler-2.2.1.171 tracks/ruby/test/tasks/exercise_tests_runner_test.rb
trackler-2.2.1.170 tracks/ruby/test/tasks/exercise_tests_runner_test.rb
trackler-2.2.1.169 tracks/ruby/test/tasks/exercise_tests_runner_test.rb
trackler-2.2.1.167 tracks/ruby/test/tasks/exercise_tests_runner_test.rb
trackler-2.2.1.166 tracks/ruby/test/tasks/exercise_tests_runner_test.rb
trackler-2.2.1.165 tracks/ruby/test/tasks/exercise_tests_runner_test.rb
trackler-2.2.1.164 tracks/ruby/test/tasks/exercise_tests_runner_test.rb
trackler-2.2.1.163 tracks/ruby/test/tasks/exercise_tests_runner_test.rb
trackler-2.2.1.162 tracks/ruby/test/tasks/exercise_tests_runner_test.rb
trackler-2.2.1.161 tracks/ruby/test/tasks/exercise_tests_runner_test.rb
trackler-2.2.1.160 tracks/ruby/test/tasks/exercise_tests_runner_test.rb