How to assert the value of an input element with assert_select (Rails 4)

75 views
Skip to first unread message

João Pereira

unread,
Jul 18, 2013, 6:53:01 AM7/18/13
to rubyonra...@googlegroups.com

Given this HTML in the view:

<form id="new_merchant_user" method="post">
  <fieldset>
    <div id='legend'>
       <legend>Recover Pasword</legend>
     </div>
     <input id="merchant_user_email" name="merchant_user[email]" type="text" value="" />
     <input class="btn btn-success" name="commit" type="submit" value="Send Reset Instructions" />

   </fieldset>
</form>

How do I select the value of the button with assert_select? I try

assert_select 'form input[type=submit]', "Send Reset Instructions"

but its failing with

<Send Reset Instructions> expected but was
<>..
Expected 0 to be >= 1.

Basically, selecting nothing.

What am I doing wrong here?

Frederick Cheung

unread,
Jul 19, 2013, 7:18:33 AM7/19/13
to rubyonra...@googlegroups.com


On Thursday, July 18, 2013 11:53:01 AM UTC+1, João Pereira wrote:

Given this HTML in the view:

How do I select the value of the button with assert_select? I try
assert_select 'form input[type=submit]', "Send Reset Instructions"


This checks whether the input element contains that text, which doesn't look at attributes.  

assert_select "form input[type=submit][value='Send Reset Instructions']"

should do the trick

Fred

João Pereira

unread,
Jul 19, 2013, 7:43:12 AM7/19/13
to rubyonra...@googlegroups.com
Will try that. Thanks
Reply all
Reply to author
Forward
0 new messages