Как rspec настраиваемое действие с положенным в рельсах 3.1.0? - PullRequest
1 голос
/ 26 февраля 2012

Мы добавили пользовательское действие санкционировать в контроллере сорсинга.Действие утвердить обновляет атрибуты источника.Вот как вызывается утверждение:

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

Указав: method =>: 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 не был обновлен, хотя в нашем тесте выполнения атрибуты были обновлены, как и ожидалось.

Наши вопросы таковы: как определить действие подтверждения с пут?Большое спасибо.

1 Ответ

0 голосов
/ 18 апреля 2012

rpsec для настраиваемого действия обновления точно такой же, как и rspec для действия обновления RESTful.No: method =>: put требуется.

...