Я следую руководству Майкла 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