Forum: RSpec [Cucumber] Http Post just returns status code and not Response-object

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.
Felix Elliger (Guest)
on 2009-02-13 15:00
(Received via mailing list)
Hi,

I'm really new to cucumber-testing. I want to use an HTTP Post in my
step-definitions using the post-method.
When I execute

    response = post '/controller/action'

response is of type Fixnum and contains only the status code returned by
the post. In rspec it returns an HTTPResponse-instance.

Why is it different? I really need the body of the response.

Hope somebody can help me.
Aslak H. (Guest)
on 2009-02-13 16:17
(Received via mailing list)
On Fri, Feb 13, 2009 at 1:16 PM, Felix Elliger
<removed_email_address@domain.invalid> wrote:
> Hi,
>
> I'm really new to cucumber-testing. I want to use an HTTP Post in my
> step-definitions using the post-method.
> When I execute
>
>   response = post '/controller/action'
>

I'm guessing you're using Cucumber with Rails. Cucumber step
definitions (when used with Rails) run in an instance of Rails'
ActionController::IntegrationTest. If you read that API you'll see
that the #response method gives you access to what you need.

If you haven't used WebRat, I strongly recommend you check it out.
It's a thin DSL on top of ActionController::IntegrationTest that
Cucumber supports out of the box. It lets you write steps on the HTML
level rather than the HTTP level.

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