У меня есть тест Rspec для вспомогательного метода, который требует доступа к моему current_user
методу, предоставленному Devise. Проблема в том, что я использую макрос login_user
в своих тестах для помощников, которые не работают!
Вот как выглядит мой тест:
describe 'follow_link' do
before :each do
login_user
end
it "display 'follow' if the curren_user is not following" do
user = Factory :user
helper.follow_link(user).should == 'Follow'
end
end
Но с этим не получается:
Failure/Error: login_user
NoMethodError:
undefined method `visit' for #<RSpec::Core::ExampleGroup::Nested_1::Nested_2:0x007faf8c680090>
# ./spec/support/macros.rb:4:in `login_user'
# ./spec/helpers/users_helper_spec.rb:29:in `block (3 levels) in <top (required)>'
И этот макрос выглядит так:
def login_user
@user = Factory(:user)
visit new_user_session_path
# fill in sign in form
within("#main_container") do
fill_in "user[email]", with: @user.email
fill_in "user[password]", with: @user.password
click_button "Sign in"
end
end
Мне нужно:
require 'spec_helper'
в моем тесте и все, но этот метод все еще недоступен.