Respuesta de Stubbing RestClient en RSpec

Tengo las siguientes especificaciones ...

  describe "successful POST on /user/create" do
    it "should redirect to dashboard" do
      post '/user/create', {
          :name => "dave",
          :email => "[email protected]",
          :password => "another_pass"
      }
      last_response.should be_redirect
      follow_redirect!
      last_request.url.should == 'http://example.org/dave/dashboard'
    end
  end

El método de publicación en la aplicación Sinatra realiza una llamada a un servicio externo utilizando rest-client. Necesito, de alguna manera, rechazar la llamada del resto de clientes para devolver las respuestas enlatadas, de modo que no tenga que invocar una llamada HTTP real.

Mi código de aplicación es ...

  post '/user/create' do
    user_name = params[:name]
    response = RestClient.post('http://localhost:1885/api/users/', params.to_json, :content_type => :json, :accept => :json)
    if response.code == 200
      redirect to "/#{user_name}/dashboard"
    else
      raise response.to_s
    end
  end

¿Puede alguien decirme cómo hago esto con RSpec? He buscado en Google y me he topado con muchas publicaciones de blog que se han revelado, pero no puedo encontrar la respuesta. Soy bastante nuevo en el período RSpec.

Gracias

Respuestas a la pregunta(2)

Su respuesta a la pregunta