summaryrefslogtreecommitdiffstats
path: root/test/functional/issues_controller_test.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/functional/issues_controller_test.rb')
-rw-r--r--test/functional/issues_controller_test.rb36
1 files changed, 36 insertions, 0 deletions
diff --git a/test/functional/issues_controller_test.rb b/test/functional/issues_controller_test.rb
index b5180fcff..b7e0321d4 100644
--- a/test/functional/issues_controller_test.rb
+++ b/test/functional/issues_controller_test.rb
@@ -3331,6 +3331,42 @@ class IssuesControllerTest < Redmine::ControllerTest
assert_select 'span.badge.badge-private', text: 'Private'
end
+ def test_show_should_display_reactions
+ current_user = User.generate!
+
+ User.add_to_project(current_user, projects(:projects_001),
+ Role.generate!(users_visibility: 'members_of_visible_projects', permissions: [:view_issues]))
+
+ @request.session[:user_id] = current_user.id
+
+ get :show, params: { id: 1 }
+
+ assert_response :success
+
+ assert_select 'span[data-reaction-button-id=reaction_issue_1]' do
+ # The current_user can only see members who belong to projects that the current_user has access to.
+ # Since the Redmine Admin user does not belong to any projects visible to the current_user,
+ # the Redmine Admin user's name is not displayed in the reaction user list. Instead, "1 other" is shown.
+ assert_select 'a.reaction-button[title=?]', 'Dave Lopper, John Smith, and 1 other' do
+ assert_select 'span.icon-label', '3'
+ end
+ end
+
+ assert_select 'span[data-reaction-button-id=reaction_journal_1]' do
+ assert_select 'a.reaction-button[title=?]', 'John Smith'
+ end
+ assert_select 'span[data-reaction-button-id=reaction_journal_2] a.reaction-button'
+ end
+
+ def test_should_not_display_reactions_when_reactions_feature_is_disabled
+ with_settings reactions_enabled: '0' do
+ get :show, params: { id: 1 }
+
+ assert_response :success
+ assert_select 'span[data-reaction-button-id]', false
+ end
+ end
+
def test_show_should_not_display_edit_attachment_icon_for_user_without_edit_issue_permission_on_tracker
role = Role.find(2)
role.set_permission_trackers 'edit_issues', [2, 3]