Added a few tests
This commit is contained in:
parent
965f32d545
commit
25737ce46e
3 changed files with 51 additions and 2 deletions
|
@ -219,7 +219,7 @@ class IssuesController < ApplicationController
|
||||||
end
|
end
|
||||||
|
|
||||||
def check_permission
|
def check_permission
|
||||||
unless @user.administrator?
|
unless @user.administrator? or @user.moderator?
|
||||||
flash[:error] = t('application.require_admin.not_an_admin')
|
flash[:error] = t('application.require_admin.not_an_admin')
|
||||||
redirect_to root_path
|
redirect_to root_path
|
||||||
end
|
end
|
||||||
|
|
|
@ -38,7 +38,7 @@
|
||||||
</nav>
|
</nav>
|
||||||
<nav class='secondary'>
|
<nav class='secondary'>
|
||||||
<ul>
|
<ul>
|
||||||
<% if @user and @user.administrator? %>
|
<% if @user and ( @user.administrator? or @user.moderator? ) %>
|
||||||
<li class="compact-hide <%= current_page_class(issues_path) %>"><%= link_to t('layouts.issues'), issues_path %></li>
|
<li class="compact-hide <%= current_page_class(issues_path) %>"><%= link_to t('layouts.issues'), issues_path %></li>
|
||||||
<% end %>
|
<% end %>
|
||||||
<li class="compact-hide <%= current_page_class(traces_path) %>"><%= link_to t('layouts.gps_traces'), traces_path %></li>
|
<li class="compact-hide <%= current_page_class(traces_path) %>"><%= link_to t('layouts.gps_traces'), traces_path %></li>
|
||||||
|
|
|
@ -3,6 +3,29 @@ require 'test_helper'
|
||||||
class IssuesControllerTest < ActionController::TestCase
|
class IssuesControllerTest < ActionController::TestCase
|
||||||
fixtures :users,:user_roles
|
fixtures :users,:user_roles
|
||||||
|
|
||||||
|
def test_view_dashboard_without_auth
|
||||||
|
# Access issues_path without login
|
||||||
|
get :index
|
||||||
|
assert_response :redirect
|
||||||
|
assert_redirected_to login_path(:referer => issues_path)
|
||||||
|
|
||||||
|
# Access issues_path as normal user
|
||||||
|
session[:user] = users(:normal_user).id
|
||||||
|
get :index
|
||||||
|
assert_response :redirect
|
||||||
|
assert_redirected_to root_path
|
||||||
|
|
||||||
|
# Access issues_path by admin
|
||||||
|
session[:user] = users(:administrator_user).id
|
||||||
|
get :index
|
||||||
|
assert_response :success
|
||||||
|
|
||||||
|
# Access issues_path by moderator
|
||||||
|
session[:user]= users(:moderator_user).id
|
||||||
|
get :index
|
||||||
|
assert_response :success
|
||||||
|
end
|
||||||
|
|
||||||
def test_new_issue_without_login
|
def test_new_issue_without_login
|
||||||
# Test creation of a new issue and a new report without logging in
|
# Test creation of a new issue and a new report without logging in
|
||||||
get :new, {reportable_id: 1, reportable_type: "User", reported_user_id: 1}
|
get :new, {reportable_id: 1, reportable_type: "User", reported_user_id: 1}
|
||||||
|
@ -150,4 +173,30 @@ class IssuesControllerTest < ActionController::TestCase
|
||||||
assert_response :redirect
|
assert_response :redirect
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_search_issues
|
||||||
|
# Login as administrator
|
||||||
|
session[:user] = users(:administrator_user).id
|
||||||
|
|
||||||
|
# No issues against the user
|
||||||
|
get :index, search_by_user: "test1"
|
||||||
|
assert_response :redirect
|
||||||
|
assert_redirected_to issues_path
|
||||||
|
|
||||||
|
# User doesn't exist
|
||||||
|
get :index, search_by_user: "test1000"
|
||||||
|
assert_response :redirect
|
||||||
|
assert_redirected_to issues_path
|
||||||
|
|
||||||
|
# Create Issue against user_id:2
|
||||||
|
test_new_issue_after_login
|
||||||
|
assert_equal Issue.count,1
|
||||||
|
assert_equal Issue.first.reported_user_id,2
|
||||||
|
|
||||||
|
session[:user] = users(:administrator_user).id
|
||||||
|
|
||||||
|
# Find Issue against user_id:2
|
||||||
|
get :index, search_by_user: "test2"
|
||||||
|
assert_response :success
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue