File tree Expand file tree Collapse file tree 2 files changed +44
-4
lines changed
Expand file tree Collapse file tree 2 files changed +44
-4
lines changed Original file line number Diff line number Diff line change @@ -38,7 +38,6 @@ def update_group(group_id, args)
3838 :messageable_level ,
3939 :name ,
4040 :automatic_membership_email_domains ,
41- :automatic_membership_retroactive ,
4241 :title ,
4342 :primary_group ,
4443 :grant_trust_level ,
@@ -47,19 +46,31 @@ def update_group(group_id, args)
4746 :flair_bg_color ,
4847 :flair_color ,
4948 :bio_raw ,
50- :members_visibility_level ,
49+ :visibility_level ,
5150 :public_admission ,
5251 :public_exit ,
5352 :allow_membership_requests ,
5453 :full_name ,
5554 :default_notification_level ,
56- :usernames ,
57- :owner_usernames ,
5855 :membership_request_template )
5956 . to_h
6057 put ( "/groups/#{ group_id } " , group : args )
6158 end
6259
60+ def group_add_owners ( group_id , args )
61+ args = API . params ( args )
62+ . required ( :usernames )
63+ . to_h
64+ put ( "/admin/groups/#{ group_id } /owners.json" , group : args )
65+ end
66+
67+ def group_remove_owners ( group_id , args )
68+ args = API . params ( args )
69+ . required ( :usernames )
70+ . to_h
71+ delete ( "/admin/groups/#{ group_id } /owners.json" , group : args )
72+ end
73+
6374 def groups ( args = { } )
6475 params = API . params ( args )
6576 . optional ( :page )
Original file line number Diff line number Diff line change 9191 end
9292 end
9393
94+ describe "add owners" do
95+ let ( :url ) { "#{ host } /admin/groups/123/owners.json" }
96+
97+ before do
98+ stub_put ( url )
99+ end
100+
101+ it "makes the member an owner" do
102+ subject . group_add_owners ( 123 , usernames : "sam" )
103+ params = escape_params ( "group[usernames]" => "sam" )
104+ expect ( a_request ( :put , "#{ host } /admin/groups/123/owners.json" ) .
105+ with ( body : params )
106+ ) . to have_been_made
107+ end
108+ end
109+
110+ describe "remove owners" do
111+ let ( :url ) { "#{ host } /admin/groups/123/owners.json?group%5Busernames%5D=sam" }
112+
113+ before do
114+ stub_delete ( url )
115+ end
116+
117+ it "removes the owner role from the group member" do
118+ subject . group_remove_owners ( 123 , usernames : "sam" )
119+ expect ( a_delete ( url ) ) . to have_been_made
120+ end
121+ end
122+
94123 describe "group members" do
95124 it "list members" do
96125 stub_get ( "#{ host } /groups/mygroup/members.json?limit=100&offset=0" ) . to_return ( body : fixture ( "members_0.json" ) , headers : { content_type : "application/json" } )
You can’t perform that action at this time.
0 commit comments