Я пытался сделать свой код немного меньше, построив метод, который может выглядеть как must_receive от RSpec , дело в том, что я тестирую государственную машину и у меня есть несколько методов, с кодом, как это:Как построить цепные методы, такие как - should_receive (: something) .with (: params, values) .and_return (: something_else)
context "State is unknown" do
before do
@obj = create_obj(:state => 'unknown')
end
context "Event add" do
it 'should transition to adding if not in DB' do
@obj.add
@obj.state.should == 'adding'
end
it 'should transition to linking if already in DB' do
create_obj_in_db
@obj.add
@obj.state.should == 'linking'
end
end
end
Я хочу, чтобы заменить эти строки кода, чтобы что-то похожее на это:
@obj.should_receive(:add).and_transition_to('adding')
@obj.should_receive(:modify).and_transition_to('modifying')
Как создаются эти методы?