2012-02-26 11 views
1

ソースコントローラにカスタムアクション承認を追加しました。 Action Approveは、ソーシング属性を更新します。rspecカスタムアクションをレール3.1.0に入れてどうやって?

<% link_to 'Approve', approve_project_sourcing_path(@project, src), :method => :put if need_approve?(src) %> 

指定すると、メソッド=>:putとなり、属性を更新することができます。ここで失敗した承認のためのRSpecのコードは次のとおりです。

it "should approve for vp_eng" do 
    session[:vp_eng] = true 
    session[:ceo] = false 
    proj = Factory(:project) 
    u = Factory(:user) 
    session[:user_id] = u.id 
    src= Factory(:sourcing, :input_by_id => u.id, :approved_by_vp_eng => false, :approved_by_ceo => false) 
    put 'approve', :project_id => proj.id, :id => src.id, :sourcing => {:approved_by_vp_eng => true, :approve_vp_eng_id => session[:user_id], 
                     :approve_date_vp_eng => Time.now } 
    src.reload.approve_vp_eng_id.should == session[:user_id]  
    response.should redirect_to project_sourcing_path(proj, src)  
end 

上記のコードの問題は、SRCは予想通り、私たち実行テストに属性が更新されていても、更新されなかったということです。

私たちの質問は、putを使用して承認アクションをrspecする方法ですか?本当にありがとう。

答えて

0

カスタムアップデートアクションのrpsecは、RESTfulアップデートアクションのrspecとまったく同じです。いいえ:method =>:putが必要です。

関連する問題