ruby on rails 4 - Rspec controller tests with chaining method calls -
ruby on rails 4 - Rspec controller tests with chaining method calls -
my controller looks this:
class="lang-rb prettyprint-override">def index params[:page]||1 @stories = story.all.page(params[:page]).per(5) end when seek write controller tests chaining line through using rspec, can't seem tests pass.
my controller_spec looks like:
class="lang-rb prettyprint-override">describe '#index' let(:story) {double(story)} before allow(story).to receive(:all).and_return(story) allow(story).to receive(:page).and_return(story) allow(story).to receive(:per).and_return(story) :index end context 'when user not logged in' 'should page 1' expect(story).to receive(:page).with(1) end 'should 5 stories' expect(story).to receive(:per).with(5) end end end what illustration test write such controller?
you should set expect(story).to receive(:page).with(1) before calling get :index
move get :index before block it block:
it 'should page 1' expect(story).to receive(:page).with(1) :index end ps , looks missed = in controller action
params[:page] ||= 1 ruby-on-rails-4 rspec rspec3
Comments
Post a Comment