Forum: RSpec Default format for all requests in a spec

Posted by Maurício Linhares (mauricio)
on 2010-08-26 15:13
(Received via mailing list)
Hi guys,

Is there a way to define a default parameter for all requests made in a 
spec?

I have a spec where I want all requests to be made with the "js"
format but I find it rather annoying to type a ":format => 'js'" on
every get/post/put/delete. Is there any other way to do this?

-
Maurício Linhares
http://codeshooter.wordpress.com/ | http://twitter.com/mauriciojr
Posted by David Chelimsky (Guest)
on 2010-08-26 15:16
(Received via mailing list)
On Aug 26, 2010, at 8:12 AM, Maurício Linhares wrote:

> Hi guys,
> 
> Is there a way to define a default parameter for all requests made in a spec?
> 
> I have a spec where I want all requests to be made with the "js"
> format but I find it rather annoying to type a ":format => 'js'" on
> every get/post/put/delete. Is there any other way to do this?

Nope. I'd recommend making a feature request in rails for this: 
https://rails.lighthouseapp.com/projects/8994.
Posted by Justin Ko (Guest)
on 2010-08-27 23:55
(Received via mailing list)
Well, you could setup a default parameter hash:

describe MyController do
  let(:params) { {:format => 'js'} }

  describe '#show' do
    it '...' do
      get :show, params.merge(:id => 1)
    end
  end
end

You could also take it another level:

describe MyController do
  let(:params) { {:format => 'js'} }

  describe '#show' do
    before { params.merge(:id => 1) }

    it '...' do
      get :show, params.merge(:another_param => 'yep')
    end
  end
end

On Aug 26, 9:12 am, Maurício Linhares <mauricio.linha...@gmail.com>
Posted by Matt Wynne (mattwynne)
on 2010-08-30 15:24
(Received via mailing list)
Or you could override the #get/post/put/delete methods in your 
ExampleGroup

describe MyController do
  def  get(path, params)
    super(path, params.merge({:format => 'js'})
  end

  it '...' do
    get :show, :id => 1
  end
end

On 27 Aug 2010, at 08:00, Justin Ko wrote:

> end
>      get :show, params.merge(:another_param => 'yep')
>> I have a spec where I want all requests to be made with the "js"
> rspec-users@rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users

cheers,
Matt

http://blog.mattwynne.net
+44(0)7974 430184
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.