How do i set a request.referrer inside my RSpec?

Mock it:

specify 'foo' do
  controller.request.should_receive(:referer).and_return('http://example.com')
  # get whatever
end

Or if you don't care if it doesn't get called, stub it:

controller.request.stub referer: 'http://example.com'

ActionDispatch::TestRequest extends ActionDispatch::Request that extends Rack::Request.

The method is defined as follows

def referer
  @env['HTTP_REFERER']
end
alias referrer referer

As far as I remember, you can access the environment variable in the RSpec test by using request.env. It means, it should be possible to set something like

request.env['HTTP_REFERER'] = 'http://example.com'

Of course, it depends on the type of RSpec example group you are using.