producer-core/spec/producer/core/interpreter_spec.rb
Thibault Jouan ef0307fbb5 Improve small details in specs:
* Fix coding standards;
* Simplify some expectations (eq instead of be matcher);
* Expect identity on block instead of calling;
* Change some before call as oneliners;
* Avoid shadowing variable names;
* Improve wording where needed.
2013-12-19 22:46:56 +00:00

36 lines
934 B
Ruby

require 'spec_helper'
module Producer::Core
describe Interpreter do
subject(:interpreter) { Interpreter.new }
describe '#process' do
it 'processes each task' do
expect(interpreter).to receive(:process_task).with(:some_task)
interpreter.process [:some_task]
end
end
describe '#process_task' do
let(:action) { double 'action' }
let(:task) { double('task', actions: [action]).as_null_object }
context 'when task condition is met' do
it 'applies the actions' do
expect(action).to receive :apply
interpreter.process_task task
end
end
context 'when task condition is not met' do
before { allow(task).to receive(:condition_met?) { false } }
it 'does not apply the actions' do
expect(action).not_to receive :apply
interpreter.process_task task
end
end
end
end
end