2013-05-31 1 views
1

В моем контроллере я сделал этот запрос поста с параметрами и идеальноRails, как издеваться Http Post запрос

parameters = {'email' => "email", 'password' => "password"}  
response = Net::HTTP.post_form(URI.parse('http://example.com/unsubscriptions'), {'q'=>parameters}) 
     if response.is_a?(Net::HTTPSuccess) 
     @msg = "You have successfully unsubscribed." 
     else 
     @msg = "Resource not found." 
     end 

работал в спецификации контроллера это код

it "should return success message on a successfull Post request to api" do 
       parameters = { "email" => 'email', "password" => "password" } 
       Net::HTTP.should_receive(:post_form).with(
        URI.parse("http://example.com/unsubscriptions"), "q" => parameters 
      ).and_return(Net::HTTPSuccess) 
       post :unsub_uk, parameters 
       #assigns(:msg).should eq("You have successfully unsubscribed.") 
       response.should be_success 
    end 

Я не будучи в состоянии издеваться над этим вопросом Net::HTTP.post_form. Любая идея или любой другой способ выполнить эту задачу? Спасибо заранее.

ответ

0

Просто используйте драгоценный камень webmock.

Полагаю, что решает проблему, потому что возврат должен быть Net :: HTTPSuccess.

 Смежные вопросы

  • Нет связанных вопросов^_^