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