Front now redirects to an appropriate page

This commit is contained in:
Eric Schultz 2018-05-23 15:42:07 -05:00
parent 42bcb46926
commit 2a70846a9d
3 changed files with 48 additions and 7 deletions

View file

@ -1,17 +1,14 @@
# License: AGPL-3.0-or-later WITH Web-Template-Output-Additional-Permission-3.0-or-later
class FrontController < ApplicationController
def index
flash.keep
if current_role?([:nonprofit_admin,:nonprofit_associate])
if !Nonprofit.any?
redirect_to onboard_path
elsif current_role?([:nonprofit_admin,:nonprofit_associate])
redirect_to NonprofitPath.dashboard(administered_nonprofit)
elsif current_user
redirect_to '/profiles/' + current_user.profile.id.to_s
else
respond_to { |format| format.html }
redirect_to new_user_session_path
end
end
end

View file

@ -0,0 +1,42 @@
# License: AGPL-3.0-or-later WITH Web-Template-Output-Additional-Permission-3.0-or-later
require 'rails_helper'
require 'controllers/support/shared_user_context'
describe FrontController, :type => :controller do
describe 'authorization' do
include_context :shared_user_context
describe 'accept all' do
describe 'index' do
include_context :open_to_all, :get, :index
end
end
end
it 'index redirects to onboard with no non-profits' do
get( :index)
expect(response).to redirect_to onboard_url
end
describe 'have nonprofit info' do
include_context :shared_user_context
it 'redirect to nonprofit admin' do
sign_in user_as_np_admin
get(:index)
expect(response).to redirect_to NonprofitPath.dashboard(nonprofit)
end
it 'redirect to nonprofit admin' do
sign_in user_as_np_associate
get(:index)
expect(response).to redirect_to NonprofitPath.dashboard(nonprofit)
end
it 'redirect to general user' do
nonprofit
unauth_user.create_profile
sign_in unauth_user
get(:index)
expect(response).to redirect_to profile_url(unauth_user.profile.id)
end
end
end

View file

@ -105,6 +105,8 @@ RSpec.shared_context :shared_user_context do
expect(response.status).to eq 302
end
alias_method :redirects_to, :reject
def fix_args( *args)
replacements = {
__our_np: nonprofit.id,