free_mutant/spec/unit/mutant/integration_spec.rb
Markus Schirp d03e7fbdc2 Change integrations to reference config object
* Future changes depend on this one
* Also fixes the smell of "stateless" integration objects we had in the
  past
2015-06-29 18:39:08 +00:00

43 lines
845 B
Ruby

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
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) { double('Tests') }
subject { object.call(tests) }
it 'returns test result' do
should eql(
Mutant::Result::Test.new(
tests: tests,
runtime: 0.0,
passed: true,
output: ''
)
)
end
end
end