free_mutant/spec/unit/mutant/integration_spec.rb
Markus Schirp 99ab9ff171 Change required Ruby version to >=2.3
* This commit does every 2.3 change required to get the build pass
* None of the changes can be extracted, without changing the build setup
2018-09-12 14:21:24 +00:00

58 lines
1.2 KiB
Ruby

# frozen_string_literal: true
RSpec.describe Mutant::Integration do
let(:class_under_test) do
Class.new(described_class)
end
let(:object) { class_under_test.new(Mutant::Config::DEFAULT) }
describe '#setup' do
subject { object.setup }
it_should_behave_like 'a command method'
end
describe '.setup' do
subject { described_class.setup(kernel, name) }
let(:name) { 'null' }
let(:kernel) { class_double(Kernel) }
before do
expect(kernel).to receive(:require)
.with('mutant/integration/null')
end
it { should be(Mutant::Integration::Null) }
end
end
RSpec.describe Mutant::Integration::Null do
let(:object) { described_class.new(Mutant::Config::DEFAULT) }
describe '#all_tests' do
subject { object.all_tests }
it { should eql([]) }
it_should_behave_like 'an idempotent method'
end
describe '#call' do
let(:tests) { instance_double(Array) }
subject { object.call(tests) }
it 'returns test result' do
should eql(
Mutant::Result::Test.new(
output: '',
passed: true,
runtime: 0.0,
tests: tests
)
)
end
end
end