Parameter with the same name as the controller returning the params hash instead of nil

Hi,

I am having an issue with this code[1].

Testing in cucumber if there is no parameter :shot breaks. Somehow the shout parameter it’s returning the whole params hash. This thing happens everytime when the parameter has the same name as the controller.

There are any conventions or something?

You can find my cucumber output at [2].

[1] https://github.com/otzy007/params-bug

[2] http://showterm.io/ff7e3cdff6d69f4ab3308

Andrei

So, looking at this error message:

Then the JSON response should have "errors" with the text "No shout message" # cucumber-api-steps-0.10/lib/cucumber/api_st eps.rb:48
      expected ["Done"] to include "No shout message" (RSpec::Expectations::ExpectationNotMetError)
      features/shout.feature:25:in `Then the JSON response should have "errors" with the text "No shout message"'

I don't see why it would be looking for ["Done"] — on the other hand, I can't see your step definitions.

No, nevermind, I see what is happening. I can't explain why, necessarily. I'm digging deeper.

Gah. I can't reproduce your problem: https://gist.github.com/tamouse/6466831

Your Rspec test works. Cucumber not :frowning:

It might be a Cucumber bug?

No idea - cuke is running the same stuff underneath. I didn't see any step definitions in your repo. Where are they defined?

I'm using cucumber-api-steps gem, but in the main app I'm not using them and still I have this problem. https://gist.github.com/otzy007/6473493