Fixed existing tests
This commit is contained in:
parent
e74163d036
commit
965f32d545
3 changed files with 83 additions and 39 deletions
|
@ -52,7 +52,7 @@ class IssuesController < ApplicationController
|
||||||
unless create_new_issue_params.blank?
|
unless create_new_issue_params.blank?
|
||||||
@issue = Issue.find_or_initialize_by(create_new_issue_params)
|
@issue = Issue.find_or_initialize_by(create_new_issue_params)
|
||||||
path = 'issues.report_strings.' + @issue.reportable.class.name.to_s
|
path = 'issues.report_strings.' + @issue.reportable.class.name.to_s
|
||||||
@report_strings_yaml = t( path)
|
@report_strings_yaml = t(path)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -82,7 +82,7 @@
|
||||||
<% end %>
|
<% end %>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<%= link_to t('user.view.report'), new_issue_url(reportable_id: @this_user.id, reportable_type: @this_user.class.name, reported_user_id: @this_user.id) %>
|
<%= link_to t('user.view.report'), new_issue_url(reportable_id: @this_user.id, reportable_type: @this_user.class.name) %>
|
||||||
</li>
|
</li>
|
||||||
<% if @this_user.blocks.exists? %>
|
<% if @this_user.blocks.exists? %>
|
||||||
<li>
|
<li>
|
||||||
|
|
|
@ -5,9 +5,9 @@ class IssuesControllerTest < ActionController::TestCase
|
||||||
|
|
||||||
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: "DiaryEntry", reported_user_id: 1}
|
get :new, {reportable_id: 1, reportable_type: "User", reported_user_id: 1}
|
||||||
assert_response :redirect
|
assert_response :redirect
|
||||||
assert_redirected_to login_path(:referer => new_issue_path(:reportable_id=>1, :reportable_type=>"DiaryEntry",:reported_user_id=> 1))
|
assert_redirected_to login_path(:referer => new_issue_path(:reportable_id=>1, :reportable_type=>"User",:reported_user_id=> 1))
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_new_issue_after_login
|
def test_new_issue_after_login
|
||||||
|
@ -16,40 +16,96 @@ class IssuesControllerTest < ActionController::TestCase
|
||||||
# Login
|
# Login
|
||||||
session[:user] = users(:normal_user).id
|
session[:user] = users(:normal_user).id
|
||||||
|
|
||||||
get :new, {reportable_id: 1, reportable_type: "DiaryEntry", reported_user_id: 1}
|
assert_equal Issue.count,0
|
||||||
|
|
||||||
|
# Create an Issue and a report
|
||||||
|
get :new, {reportable_id: 1, reportable_type: "User", reported_user_id: 2}
|
||||||
assert_response :success
|
assert_response :success
|
||||||
assert_difference "Issue.count",1 do
|
assert_difference "Issue.count",1 do
|
||||||
details = "Details of a report"
|
details = "Details of a report"
|
||||||
post :create, { :report => { :details => details},
|
post :create, { :report => { :details => details},
|
||||||
:issue => { reportable_id: 1, reportable_type: "DiaryEntry", reported_user_id: 1} }
|
:report_type => "[OFFENSIVE]",
|
||||||
|
:issue => { reportable_id: 1, reportable_type: "User", reported_user_id: 2} }
|
||||||
end
|
end
|
||||||
|
assert_equal Issue.count,1
|
||||||
assert_response :redirect
|
assert_response :redirect
|
||||||
|
assert_redirected_to root_path
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_new_report
|
def test_new_report_with_incomplete_details
|
||||||
# Test creation of a new report for an existing issue
|
# Test creation of a new issue and a new report
|
||||||
|
|
||||||
# Login
|
# Login
|
||||||
session[:user] = users(:normal_user).id
|
session[:user] = users(:normal_user).id
|
||||||
|
|
||||||
get :new, {reportable_id: 1, reportable_type: "DiaryEntry", reported_user_id: 1}
|
assert_equal Issue.count,0
|
||||||
|
|
||||||
|
# Create an Issue and a report
|
||||||
|
get :new, {reportable_id: 1, reportable_type: "User", reported_user_id: 2}
|
||||||
assert_response :success
|
assert_response :success
|
||||||
assert_difference "Issue.count",1 do
|
assert_difference "Issue.count",1 do
|
||||||
details = "Details of a report"
|
details = "Details of a report"
|
||||||
post :create, { :report => { :details => details},
|
post :create, { :report => { :details => details},
|
||||||
:issue => { reportable_id: 1, reportable_type: "DiaryEntry", reported_user_id: 1} }
|
:report_type => "[OFFENSIVE]",
|
||||||
|
:issue => { reportable_id: 1, reportable_type: "User", reported_user_id: 2} }
|
||||||
|
end
|
||||||
|
assert_equal Issue.count,1
|
||||||
|
assert_response :redirect
|
||||||
|
assert_redirected_to root_path
|
||||||
|
|
||||||
|
get :new, {reportable_id: 1, reportable_type: "User", reported_user_id: 2}
|
||||||
|
assert_response :success
|
||||||
|
|
||||||
|
# Report without report_type
|
||||||
|
assert_no_difference "Issue.count" do
|
||||||
|
details = "Details of another report under the same issue"
|
||||||
|
post :create, { :report => { :details => details},
|
||||||
|
:issue => { reportable_id: 1, reportable_type: "User", reported_user_id: 2} }
|
||||||
end
|
end
|
||||||
assert_response :redirect
|
assert_response :redirect
|
||||||
|
assert_equal Issue.find_by_reportable_id_and_reportable_type(1,"User").reports.count,1
|
||||||
|
|
||||||
get :new, {reportable_id: 1, reportable_type: "DiaryEntry", reported_user_id: 1}
|
# Report without details
|
||||||
|
assert_no_difference "Issue.count" do
|
||||||
|
post :create, { :report_type => "[OFFENSIVE]",
|
||||||
|
:issue => { reportable_id: 1, reportable_type: "User", reported_user_id: 2} }
|
||||||
|
end
|
||||||
|
assert_response :redirect
|
||||||
|
assert_equal Issue.find_by_reportable_id_and_reportable_type(1,"User").reports.count,1
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_new_report_with_complete_details
|
||||||
|
# Test creation of a new issue and a new report
|
||||||
|
|
||||||
|
# Login
|
||||||
|
session[:user] = users(:normal_user).id
|
||||||
|
|
||||||
|
assert_equal Issue.count,0
|
||||||
|
|
||||||
|
# Create an Issue and a report
|
||||||
|
get :new, {reportable_id: 1, reportable_type: "User", reported_user_id: 2}
|
||||||
|
assert_response :success
|
||||||
|
assert_difference "Issue.count",1 do
|
||||||
|
details = "Details of a report"
|
||||||
|
post :create, { :report => { :details => details},
|
||||||
|
:report_type => "[OFFENSIVE]",
|
||||||
|
:issue => { reportable_id: 1, reportable_type: "User", reported_user_id: 2} }
|
||||||
|
end
|
||||||
|
assert_equal Issue.count,1
|
||||||
|
assert_response :redirect
|
||||||
|
assert_redirected_to root_path
|
||||||
|
|
||||||
|
# Create a report for an existing Issue
|
||||||
|
get :new, {reportable_id: 1, reportable_type: "User", reported_user_id: 2}
|
||||||
assert_response :success
|
assert_response :success
|
||||||
assert_no_difference "Issue.count" do
|
assert_no_difference "Issue.count" do
|
||||||
details = "Details of another report under the same issue"
|
details = "Details of another report under the same issue"
|
||||||
post :create, { :report => { :details => details},
|
post :create, { :report => { :details => details},
|
||||||
:issue => { reportable_id: 1, reportable_type: "DiaryEntry", reported_user_id: 1} }
|
:report_type => "[OFFENSIVE]",
|
||||||
|
:issue => { reportable_id: 1, reportable_type: "User", reported_user_id: 2} }
|
||||||
end
|
end
|
||||||
assert_response :redirect
|
assert_response :redirect
|
||||||
assert_equal Issue.find_by_reportable_id_and_reportable_type(1,"DiaryEntry").reports.count,2
|
assert_equal Issue.find_by_reportable_id_and_reportable_type(1,"User").reports.count,2
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_change_status_by_normal_user
|
def test_change_status_by_normal_user
|
||||||
|
@ -57,17 +113,11 @@ class IssuesControllerTest < ActionController::TestCase
|
||||||
session[:user] = users(:normal_user).id
|
session[:user] = users(:normal_user).id
|
||||||
|
|
||||||
# Create Issue
|
# Create Issue
|
||||||
|
test_new_issue_after_login
|
||||||
|
assert_equal Issue.count,1
|
||||||
|
|
||||||
get :new, {reportable_id: 1, reportable_type: "DiaryEntry", reported_user_id: 1}
|
get :resolve, id: Issue.find_by_reportable_id_and_reportable_type(1,"User").id
|
||||||
assert_response :success
|
|
||||||
assert_difference "Issue.count",1 do
|
|
||||||
details = "Details of a report"
|
|
||||||
post :create, { :report => { :details => details},
|
|
||||||
:issue => { reportable_id: 1, reportable_type: "DiaryEntry", reported_user_id: 1} }
|
|
||||||
end
|
|
||||||
assert_response :redirect
|
|
||||||
|
|
||||||
get :resolve, id: Issue.find_by_reportable_id_and_reportable_type(1,"DiaryEntry").id
|
|
||||||
assert_response :redirect
|
assert_response :redirect
|
||||||
assert_redirected_to root_path
|
assert_redirected_to root_path
|
||||||
end
|
end
|
||||||
|
@ -77,32 +127,26 @@ class IssuesControllerTest < ActionController::TestCase
|
||||||
session[:user] = users(:normal_user).id
|
session[:user] = users(:normal_user).id
|
||||||
|
|
||||||
# Create Issue
|
# Create Issue
|
||||||
|
test_new_issue_after_login
|
||||||
get :new, {reportable_id: 1, reportable_type: "DiaryEntry", reported_user_id: 1}
|
assert_equal Issue.count,1
|
||||||
assert_response :success
|
|
||||||
assert_difference "Issue.count",1 do
|
|
||||||
details = "Details of a report"
|
|
||||||
post :create, { :report => { :details => details},
|
|
||||||
:issue => { reportable_id: 1, reportable_type: "DiaryEntry", reported_user_id: 1} }
|
|
||||||
end
|
|
||||||
assert_response :redirect
|
assert_response :redirect
|
||||||
|
|
||||||
# Login as administrator
|
# Login as administrator
|
||||||
session[:user] = users(:administrator_user).id
|
session[:user] = users(:administrator_user).id
|
||||||
|
|
||||||
# Test 'Resolved'
|
# Test 'Resolved'
|
||||||
get :resolve, id: Issue.find_by_reportable_id_and_reportable_type(1,"DiaryEntry").id
|
get :resolve, id: Issue.find_by_reportable_id_and_reportable_type(1,"User").id
|
||||||
assert_equal Issue.find_by_reportable_id_and_reportable_type(1,"DiaryEntry").resolved?, true
|
assert_equal Issue.find_by_reportable_id_and_reportable_type(1,"User").resolved?, true
|
||||||
assert_response :redirect
|
assert_response :redirect
|
||||||
|
|
||||||
# Test 'Reopen'
|
# Test 'Reopen'
|
||||||
get :reopen, id: Issue.find_by_reportable_id_and_reportable_type(1,"DiaryEntry").id
|
get :reopen, id: Issue.find_by_reportable_id_and_reportable_type(1,"User").id
|
||||||
assert_equal Issue.find_by_reportable_id_and_reportable_type(1,"DiaryEntry").open?, true
|
assert_equal Issue.find_by_reportable_id_and_reportable_type(1,"User").open?, true
|
||||||
assert_response :redirect
|
assert_response :redirect
|
||||||
|
|
||||||
# Test 'Ignored'
|
# Test 'Ignored'
|
||||||
get :ignore, id: Issue.find_by_reportable_id_and_reportable_type(1,"DiaryEntry").id
|
get :ignore, id: Issue.find_by_reportable_id_and_reportable_type(1,"User").id
|
||||||
assert_equal Issue.find_by_reportable_id_and_reportable_type(1,"DiaryEntry").ignored?, true
|
assert_equal Issue.find_by_reportable_id_and_reportable_type(1,"User").ignored?, true
|
||||||
assert_response :redirect
|
assert_response :redirect
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue