UX: display moderators group name in the group dropdown menu.

UX: display moderators group name in the group dropdown menu.

diff --git a/app/controllers/groups_controller.rb b/app/controllers/groups_controller.rb
index ac6c813..273fe25 100644
--- a/app/controllers/groups_controller.rb
+++ b/app/controllers/groups_controller.rb
@@ -121,7 +121,9 @@ class GroupsController < ApplicationController
 
       format.json do
         groups = Group.visible_groups(current_user)
-        groups = groups.where(automatic: false) if !guardian.is_staff?
+        if !guardian.is_staff?
+          groups = groups.where("automatic IS FALSE OR groups.id = #{Group::AUTO_GROUPS[:moderators]}")
+        end
 
         render_json_dump(
           group: serialize_data(group, GroupShowSerializer, root: nil),
diff --git a/spec/requests/groups_controller_spec.rb b/spec/requests/groups_controller_spec.rb
index b122604..e8269fc 100644
--- a/spec/requests/groups_controller_spec.rb
+++ b/spec/requests/groups_controller_spec.rb
@@ -362,6 +362,7 @@ describe GroupsController do
 
     it "returns the right response" do
       sign_in(user)
+      mod_group = Group.find(moderator_group_id)
       get "/groups/#{group.name}.json"
 
       expect(response.status).to eq(200)
@@ -369,7 +370,7 @@ describe GroupsController do
       body = response.parsed_body
 
       expect(body['group']['id']).to eq(group.id)
-      expect(body['extras']["visible_group_names"]).to eq([group.name])
+      expect(body['extras']["visible_group_names"]).to eq([mod_group.name, group.name])
       expect(response.headers['X-Robots-Tag']).to eq('noindex')
     end
 

GitHub sha: ba2f3119

This commit has been mentioned on Discourse Meta. There might be relevant details there:

https://meta.discourse.org/t/minor-inconsistency-with-group-page/163277/5