Forum: RSpec Cucumber - how to spec a quick search box

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Fb1a6916e06f221b5b53a6665f9858eb?d=identicon&s=25 Mikel Lindsaar (Guest)
on 2008-11-18 11:13
(Received via mailing list)
Hello all.
Wondering if anyone else has solved this.

Some websites (including the intranet app I am working on) have a form
in
the top corner of the site that is buttonless. If you focus on this form
enter text and hit enter, it submits.  usually used for quick search
boxes.

Question, has anyone managed to tie that into a cucumber feature?

Scenario: Using the quick search box
  Given I am logged in
  And I visit the home page
  And there is someone called 'Bob Smith' to search for
  When I put 'Bob Smith' into the quick search box
  And I hit enter
  Then I should be shown the search results page
  And there should be 'Bob Smith' on the page

it's the 'And I hit enter' that is bugging me :)

Any ideas?

Mikel
F68f69615423aa3851bd445409754dbf?d=identicon&s=25 Joseph Wilk (joesniff)
on 2008-11-18 11:45
(Received via mailing list)
Mikel Lindsaar wrote:
>
>
> Any ideas?
>
I've encountered the same problem. I generally try and pull the
abstraction up a bit a say something like:

When I submit a quick search for 'Bob Smith'

But here I'm assuming that its not really important to the customer how
they submit the form just that they can.

WDYT?
--
Joseph Wilk
http://blog.josephwilk.net
F86901feca747abbb5c6c020362ef2e7?d=identicon&s=25 Zach Dennis (zdennis)
on 2008-11-18 13:59
(Received via mailing list)
On Tue, Nov 18, 2008 at 5:44 AM, Joseph Wilk <josephwilk@joesniff.co.uk>
wrote:
>> Question, has anyone managed to tie that into a cucumber feature?
>> it's the 'And I hit enter' that is bugging me :)
>
> WDYT?

I agree with Matt. Unless it was really really really important to the
customer how the thing was submitted I wouldn't try to automate the
pressing of the enter button in the browser.  I would more or less
just say what I was doing rather than how I was doing it. I might end
up with:

Given I'm a logged in user at the home page
And there is someone called 'Bob Smith' to earch for
When I do a quick search for 'Bob Smith'
Then I should see that 'Bob Smith' is found in the search results

If you're wondering how you submit the quick search (since it has no
button) then here's a suggestion that Ben Mabey gave me back in
September: use <noscript> tags to have a button on the page that
Webrat can submit, but that the browser won't render.

Here's a link to that comment:
http://www.nabble.com/Re%3A-webrat-question%2C-for...


--
Zach Dennis
http://www.continuousthinking.com
http://www.mutuallyhuman.com
F68f69615423aa3851bd445409754dbf?d=identicon&s=25 Joseph Wilk (joesniff)
on 2008-11-18 14:36
(Received via mailing list)
Zach Dennis wrote:
>>> enter text and hit enter, it submits.  usually used for quick search boxes.
>>>  And there should be 'Bob Smith' on the page
>>
> up with:
>
> Here's a link to that comment:
> http://www.nabble.com/Re%3A-webrat-question%2C-for...
>
>
>
And if you are using Selenium:

key_press :search, 13

--
Joseph Wilk
http://blog.josephwilk.net
Ba051cd2587e000ef7a5f5ea5ac16129?d=identicon&s=25 Bryan Helmkamp (Guest)
on 2008-11-19 03:33
(Received via mailing list)
If the form tag has an ID, you can use Webrat' new submit_form method
to do just this sort of thing.

-Bryan
Fb1a6916e06f221b5b53a6665f9858eb?d=identicon&s=25 Mikel Lindsaar (Guest)
on 2008-11-19 15:56
(Received via mailing list)
On Wed, Nov 19, 2008 at 1:32 PM, Bryan Helmkamp <lists@brynary.com>
wrote:

> If the form tag has an ID, you can use Webrat' new submit_form method
> to do just this sort of thing.
>

Not wrong about being new :)  24 hours ago... recent enough not to be in
the
History.txt file and I had to go hunting for the change set ;)

Thanks, works perfectly!

Mikel
This topic is locked and can not be replied to.