@@ -50,3 +50,42 @@ func TestListMemberRoles(t *testing.T) {
50
50
51
51
require .Equal (t , want , memberRoles )
52
52
}
53
+
54
+ func TestCreateMemberRole (t * testing.T ) {
55
+ mux , client := setup (t )
56
+
57
+ path := "/api/v4/groups/84/member_roles"
58
+
59
+ mux .HandleFunc (path , func (w http.ResponseWriter , r * http.Request ) {
60
+ testMethod (t , r , http .MethodPost )
61
+ mustWriteHTTPResponse (t , w , "testdata/create_member_role.json" )
62
+ })
63
+
64
+ memberRole , _ , err := client .MemberRolesService .CreateMemberRole (84 , & CreateMemberRoleOptions {
65
+ Name : "Custom guest" ,
66
+ BaseAccessLevel : 10 ,
67
+ Description : "a sample custom role" ,
68
+ AdminMergeRequest : false ,
69
+ AdminVulnerability : false ,
70
+ ReadCode : true ,
71
+ ReadDependency : false ,
72
+ ReadVulnerability : false ,
73
+ })
74
+ require .NoError (t , err )
75
+
76
+ want := & MemberRole {
77
+ ID : 3 ,
78
+ Name : "Custom guest" ,
79
+ Description : "a sample custom role" ,
80
+ BaseAccessLevel : 10 ,
81
+ GroupId : 84 ,
82
+ AdminMergeRequests : false ,
83
+ AdminVulnerability : false ,
84
+ ReadCode : true ,
85
+ ReadDependency : false ,
86
+ ReadVulnerability : false ,
87
+ ManageProjectAccessToken : false ,
88
+ }
89
+
90
+ require .Equal (t , want , memberRole )
91
+ }
0 commit comments