Files
fetsite/spec/support/controller_macros.rb

62 lines
1.5 KiB
Ruby

module ControllerMacros
# include Devise::TestHelpers, :type=>:controller
def with_fet_user
let(:fet_user) {FactoryBot.create(:other_user, :fetuser)}
before(:each) do
allow(@controller).to receive(:current_user).and_return(fet_user)
allow(@controller).to receive(:current_ability).and_return(Ability.new(fet_user))
end
end
def with_fet_admin
let(:fet_user)do
fet_user=FactoryBot.create(:other_user)
fet_user.add_role("fetadmin")
fet_user
end
before(:each) do
allow(@controller).to receive(:current_user).and_return(fet_user)
allow(@controller).to receive(:current_ability).and_return(Ability.new(fet_user))
end
end
def login_fet_user
before(:each) do
@request.env["devise.mapping"] = Devise.mappings[:user]
user = FactoryBot.build(:other_user)
user = User.find_by_email(user.email) || user
user.save
user.add_role(:fetuser)
# user.confirm!
sign_in user
end
end
def login_user
before(:each) do
@request.env["devise.mapping"] = Devise.mappings[:user]
user = FactoryBot.build(:other_user)
user = User.find_by_email(user.email) || user
user.save
# user.confirm!
sign_in user
end
end
def logout_user
before(:each) do
sign_out :user
end
end
def has_invalid_params
before(:each) do
object_class.any_instance.stub(:save).and_return(false)
object_class.any_instance.stub(:update_attributes).and_return(false)
end
end
end