require File.expand_path '../../test_helper', __FILE__
class ViewDashboardTopRenderOn < Redmine::Hook::ViewListener
render_on :view_dashboard_top, inline: '
Example text
'
end
class ViewDashboardBottomRenderOn < Redmine::Hook::ViewListener
render_on :view_dashboard_bottom, inline: 'Example text
'
end
class ProjectsControllerTest < Additionals::ControllerTest
fixtures :projects,
:users,
:roles,
:members,
:member_roles,
:issues,
:issue_statuses,
:versions,
:trackers,
:projects_trackers,
:issue_categories,
:enabled_modules,
:dashboards, :dashboard_roles
def setup
Setting.default_language = 'en'
User.current = nil
end
def test_show_with_left_text_block
@request.session[:user_id] = 4
get :show,
params: { id: 1 }
assert_response :success
assert_select 'div#list-left div#block-text', text: /example text/
end
def test_show_with_right_text_block
@request.session[:user_id] = 4
get :show,
params: { id: 1 }
assert_response :success
assert_select 'div#list-right div#block-text__1', text: /example text/
end
def test_show_with_hook_view_dashboard_top
Redmine::Hook.add_listener ViewDashboardTopRenderOn
@request.session[:user_id] = 4
get :show,
params: { id: 1 }
assert_select 'div.test', text: 'Example text'
end
def test_show_with_hook_view_dashboard_bottom
Redmine::Hook.add_listener ViewDashboardBottomRenderOn
@request.session[:user_id] = 4
get :show,
params: { id: 1 }
assert_select 'div.test', text: 'Example text'
end
def test_show_with_invalid_dashboard
get :show,
params: { id: 1,
dashboard_id: 444 }
assert_response :missing
end
def test_show_dashboard_without_permission
@request.session[:user_id] = 3
get :show,
params: { id: 1,
dashboard_id: dashboards(:private_project2) }
assert_response :forbidden
end
end