From cf639202b802be9ce1a6f3f65e7d4f6292a2ad3a Mon Sep 17 00:00:00 2001 From: Shrey Date: Fri, 19 Jun 2015 21:02:33 +0530 Subject: [PATCH 1/1] Added a few more tests --- app/controllers/issues_controller.rb | 25 +++++++++++++--------- app/views/issues/_comments.html.erb | 2 +- config/locales/en-GB.yml | 5 ++++- config/locales/en.yml | 3 +++ test/controllers/issues_controller_test.rb | 23 ++++++++++++++++++++ 5 files changed, 46 insertions(+), 12 deletions(-) diff --git a/app/controllers/issues_controller.rb b/app/controllers/issues_controller.rb index bcea64be3..550140232 100644 --- a/app/controllers/issues_controller.rb +++ b/app/controllers/issues_controller.rb @@ -139,16 +139,21 @@ class IssuesController < ApplicationController def comment @issue = Issue.find(params[:id]) - @issue_comment = @issue.comments.build(issue_comment_params) - @issue_comment.commenter_user_id = @user.id - if params[:reassign] - reassign_issue - @issue_comment.reassign = true - end - @issue_comment.save! - @issue.updated_by = @user.id - @issue.save! - redirect_to @issue + if issue_comment_params.blank? + notice = t('issues.comment.provide_details') + else + @issue_comment = @issue.comments.build(issue_comment_params) + @issue_comment.commenter_user_id = @user.id + if params[:reassign] + reassign_issue + @issue_comment.reassign = true + end + @issue_comment.save! + @issue.updated_by = @user.id + @issue.save! + notice = t('issues.comment.comment_created') + end + redirect_to @issue, notice: notice end # Status Transistions diff --git a/app/views/issues/_comments.html.erb b/app/views/issues/_comments.html.erb index 2e259a169..52f740b09 100644 --- a/app/views/issues/_comments.html.erb +++ b/app/views/issues/_comments.html.erb @@ -20,7 +20,7 @@
<%= form_for :issue_comment, :url => { :action => 'comment', :id => @issue.id, :user_id => @user.id } do |f| %> - <%= richtext_area :issue_comment, :body, :cols => 10, :rows => 8 %> + <%= richtext_area :issue_comment, :body, :cols => 10, :rows => 8, :required => true %> <%= label_tag t('issues.show.comments.reassign_param') %> <%= check_box_tag :reassign, true %>

diff --git a/config/locales/en-GB.yml b/config/locales/en-GB.yml index e62069a5e..4f0fb9f03 100644 --- a/config/locales/en-GB.yml +++ b/config/locales/en-GB.yml @@ -956,7 +956,10 @@ en-GB: show: comments: reassign: The Issue was reassigned - reassign_param: Reassign Issue? + reassign_param: Reassign Issue? + comment: + provide_details: Please provide the required details + comment_created: Your comment was successfully created resolved: Issue status has been set to 'Resolved' ignored: Issue status has been set to 'Ignored' reopened: Issue status has been set to 'Open' diff --git a/config/locales/en.yml b/config/locales/en.yml index c65f51bc6..9fc1785b5 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -927,6 +927,9 @@ en: comments: reassign: The Issue was reassigned reassign_param: Reassign Issue? + comment: + provide_details: Please provide the required details + comment_created: Your comment was successfully created resolved: Issue status has been set to 'Resolved' ignored: Issue status has been set to 'Ignored' reopened: Issue status has been set to 'Open' diff --git a/test/controllers/issues_controller_test.rb b/test/controllers/issues_controller_test.rb index 87eda1506..a6e1d6b3f 100644 --- a/test/controllers/issues_controller_test.rb +++ b/test/controllers/issues_controller_test.rb @@ -199,4 +199,27 @@ class IssuesControllerTest < ActionController::TestCase assert_response :success end + def test_comment_by_normal_user + # Create Issue + test_new_issue_after_login + assert_equal Issue.count,1 + + get :comment, id: 1 + assert_response :redirect + assert_redirected_to root_path + end + + def test_comment + # Create Issue + test_new_issue_after_login + assert_equal Issue.count,1 + @issue = Issue.all.first + + # Login as administrator + session[:user] = users(:administrator_user).id + + get :comment, id: @issue.id, :issue_comment => { body: "test comment" } + assert_response :redirect + assert_redirected_to @issue + end end -- 2.43.2