Тесты Rspec для административных ссылок «удалить» не пройдены. Учебное пособие Майкла Хартла по ROR 3.2 — Глава 9.4.2

Я следую руководству Майкла ROR и создаю систему аутентификации пользователей. Существует привилегия администратора, которая позволяет пользователям удалять других пользователей.Специальные ссылки «удалить» появляются на странице списка пользователей при входе в систему в качестве привилегированного пользователя-администратора. Мое приложение работает нормально, но тесты rspec не проходят по неизвестной мне причине.

Я поместил тесты в другой файл spec/requests/sat_spec.rbи пытаюсь использовать pry gem для его отладки, но пока безуспешно.

describe "delete links" do
  describe "as admin user" do
    let(:admin) { FactoryGirl.create(:admin) }
    before do
      sign_in admin
      visit users_path
      binding.pry          
    end
  it { should have_link('delete', href: user_path(User.first)) }

  it "should be able to delete another user" do
    expect { click_link('delete') }.to change(User, :count).by(-1)
  end    
end

Сбои теста:

1) separated admin tests delete links as admin user 
 Failure/Error: it { should have_link('delete', href: user_path(User.first)) }
   expected link "delete" to return something
 # ./spec/requests/sat_spec.rb:25:in `block (4 levels) in '

2) separated admin tests delete links as admin user should be able to delete another user
 Failure/Error: expect { click_link('delete') }.to change(User, :count).by(-1)
 Capybara::ElementNotFound:
   no link with title, id or text 'delete' found
 # (eval):2:in `click_link'
 # ./spec/requests/sat_spec.rb:28:in `block (5 levels) in '
 # ./spec/requests/sat_spec.rb:28:in `block (4 levels) in '

В чем может быть проблема или , что более важно, как ее отладить?

Вы можете разветвить мой код здесь https://github.com/tomek-rusilko/miniatury_katalog_2

6
задан tomruss 28 May 2012 в 08:32
поделиться