2014-09-24 1 views
0

Как сообщить capybara отправить метод патча? по умолчанию возникает get.Capybara click_link method patch

 resources :users do 
     member do 
     patch :toggle_moderator 
    end 

Тест

describe 'toggle moderator' do 
    it 'remove moderator privilegue', js: true do 
    click_on("toogle") 
    expect(page).to have_css('.icon-star') 
    end 
    end 

Ошибка:

Failure/Error: Unable to find matching line from backtrace 
ActionController::RoutingError: 
    No route matches [GET] "https://stackoverflow.com/users/5/toggle_moderator" 

ответ

0

Это ошибка в вашей странице. Capybara отправляет запрос GET по умолчанию, потому что это то, что отправляют браузеры, а Capybara имитирует браузер.

Чтобы отправить запрос PATCH, вам понадобится код JavaScript, привязанный к обработчику кликов для вашей ссылки. Если вы это сделаете, может возникнуть ошибка, из-за которой это произойдет.

+0

спасибо, попробуйте это. – ilgam

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

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