cucumber-api-steps
cucumber-api-steps copied to clipboard
XML response should have - text comparison with number input
Using from api_step.rb the step: the XML response should have "field" with the text "1234"
The string "1234" enters the body of the step as the argument named 'text'. In the body the 'text' has class 'Fixnum' in stead of 'String.
The comparison between the element found and the text argument fails because the classes dont match.
Simple fix is to transform text explicitly to class String with the method 'to_s'
Hmm. the to_s method does not work with a string "0123" (it becomes "123")
This seems to work:
Add this step
Transform /^text "[^"]"$/ do |step_arg| /text "([^"])"/.match(step_arg)[1] end
And Change api_step to:
Then /^my XML response should have "([^"])" with the (text "[^"]")$/ do |xpath, text| ... end