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?
|
||||
@issue = Issue.find_or_initialize_by(create_new_issue_params)
|
||||
path = 'issues.report_strings.' + @issue.reportable.class.name.to_s
|
||||
@report_strings_yaml = t( path)
|
||||
@report_strings_yaml = t(path)
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -82,7 +82,7 @@
|
|||
<% end %>
|
||||
</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>
|
||||
<% if @this_user.blocks.exists? %>
|
||||
<li>
|
||||
|
|
|
@ -5,9 +5,9 @@ class IssuesControllerTest < ActionController::TestCase
|
|||
|
||||
def test_new_issue_without_login
|
||||
# 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_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
|
||||
|
||||
def test_new_issue_after_login
|
||||
|
@ -16,40 +16,96 @@ class IssuesControllerTest < ActionController::TestCase
|
|||
# Login
|
||||
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_difference "Issue.count",1 do
|
||||
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} }
|
||||
: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
|
||||
end
|
||||
|
||||
def test_new_report
|
||||
# Test creation of a new report for an existing issue
|
||||
def test_new_report_with_incomplete_details
|
||||
# Test creation of a new issue and a new report
|
||||
|
||||
# Login
|
||||
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_difference "Issue.count",1 do
|
||||
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} }
|
||||
: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
|
||||
assert_response :redirect
|
||||
assert_equal Issue.find_by_reportable_id_and_reportable_type(1,"User").reports.count,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
|
||||
|
||||
get :new, {reportable_id: 1, reportable_type: "DiaryEntry", reported_user_id: 1}
|
||||
# Create a report for an existing Issue
|
||||
get :new, {reportable_id: 1, reportable_type: "User", reported_user_id: 2}
|
||||
assert_response :success
|
||||
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: "DiaryEntry", reported_user_id: 1} }
|
||||
: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,"DiaryEntry").reports.count,2
|
||||
assert_equal Issue.find_by_reportable_id_and_reportable_type(1,"User").reports.count,2
|
||||
end
|
||||
|
||||
def test_change_status_by_normal_user
|
||||
|
@ -57,17 +113,11 @@ class IssuesControllerTest < ActionController::TestCase
|
|||
session[:user] = users(:normal_user).id
|
||||
|
||||
# Create Issue
|
||||
|
||||
get :new, {reportable_id: 1, reportable_type: "DiaryEntry", reported_user_id: 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
|
||||
test_new_issue_after_login
|
||||
assert_equal Issue.count,1
|
||||
|
||||
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_response :redirect
|
||||
assert_redirected_to root_path
|
||||
end
|
||||
|
@ -77,32 +127,26 @@ class IssuesControllerTest < ActionController::TestCase
|
|||
session[:user] = users(:normal_user).id
|
||||
|
||||
# Create Issue
|
||||
|
||||
get :new, {reportable_id: 1, reportable_type: "DiaryEntry", reported_user_id: 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
|
||||
test_new_issue_after_login
|
||||
assert_equal Issue.count,1
|
||||
assert_response :redirect
|
||||
|
||||
# Login as administrator
|
||||
session[:user] = users(:administrator_user).id
|
||||
|
||||
# Test 'Resolved'
|
||||
get :resolve, id: Issue.find_by_reportable_id_and_reportable_type(1,"DiaryEntry").id
|
||||
assert_equal Issue.find_by_reportable_id_and_reportable_type(1,"DiaryEntry").resolved?, true
|
||||
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,"User").resolved?, true
|
||||
assert_response :redirect
|
||||
|
||||
# Test 'Reopen'
|
||||
get :reopen, id: Issue.find_by_reportable_id_and_reportable_type(1,"DiaryEntry").id
|
||||
assert_equal Issue.find_by_reportable_id_and_reportable_type(1,"DiaryEntry").open?, true
|
||||
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,"User").open?, true
|
||||
assert_response :redirect
|
||||
|
||||
# Test 'Ignored'
|
||||
get :ignore, id: Issue.find_by_reportable_id_and_reportable_type(1,"DiaryEntry").id
|
||||
assert_equal Issue.find_by_reportable_id_and_reportable_type(1,"DiaryEntry").ignored?, true
|
||||
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,"User").ignored?, true
|
||||
assert_response :redirect
|
||||
end
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue