@@ -893,7 +893,8 @@ public function testCreateOrganizationMembership()
893893 $ params = [
894894 "organization_id " => $ orgId ,
895895 "user_id " => $ userId ,
896- "role_slug " => $ roleSlug
896+ "role_slug " => $ roleSlug ,
897+ "role_slugs " => null ,
897898 ];
898899
899900 $ this ->mockRequest (
@@ -912,6 +913,38 @@ public function testCreateOrganizationMembership()
912913 $ this ->assertSame ($ organizationMembership , $ response ->toArray ());
913914 }
914915
916+ public function testCreateOrganizationMembershipWithRoleSlugs ()
917+ {
918+ $ userId = "user_01H7X1M4TZJN5N4HG4XXMA1234 " ;
919+ $ orgId = "org_01EHQMYV6MBK39QC5PZXHY59C3 " ;
920+ $ roleSlugs = ["admin " ];
921+ $ path = "user_management/organization_memberships " ;
922+
923+ $ result = $ this ->organizationMembershipResponseFixture ();
924+
925+ $ params = [
926+ "organization_id " => $ orgId ,
927+ "user_id " => $ userId ,
928+ "role_slug " => null ,
929+ "role_slugs " => $ roleSlugs ,
930+ ];
931+
932+ $ this ->mockRequest (
933+ Client::METHOD_POST ,
934+ $ path ,
935+ null ,
936+ $ params ,
937+ true ,
938+ $ result
939+ );
940+
941+ $ organizationMembership = $ this ->organizationMembershipFixture ();
942+
943+ $ response = $ this ->userManagement ->createOrganizationMembership ($ userId , $ orgId , null , $ roleSlugs );
944+
945+ $ this ->assertSame ($ organizationMembership , $ response ->toArray ());
946+ }
947+
915948 public function testGetOrganizationMembership ()
916949 {
917950 $ organizationMembershipId = "om_01E4ZCR3C56J083X43JQXF3JK5 " ;
@@ -1071,7 +1104,7 @@ public function testUpdateOrganizationMembership()
10711104 Client::METHOD_PUT ,
10721105 $ path ,
10731106 null ,
1074- ["role_slug " => $ roleSlug ],
1107+ ["role_slug " => $ roleSlug, " role_slugs " => null ],
10751108 true ,
10761109 $ result
10771110 );
@@ -1080,6 +1113,28 @@ public function testUpdateOrganizationMembership()
10801113 $ this ->assertSame ($ this ->organizationMembershipFixture (), $ response ->toArray ());
10811114 }
10821115
1116+ public function testUpdateOrganizationMembershipWithRoleSlugs ()
1117+ {
1118+ $ organizationMembershipId = "om_01E4ZCR3C56J083X43JQXF3JK5 " ;
1119+ $ roleSlugs = ["admin " ];
1120+ $ path = "user_management/organization_memberships/ {$ organizationMembershipId }" ;
1121+
1122+ $ result = $ this ->organizationMembershipResponseFixture ();
1123+
1124+ $ this ->mockRequest (
1125+ Client::METHOD_PUT ,
1126+ $ path ,
1127+ null ,
1128+ ["role_slug " => null , "role_slugs " => $ roleSlugs ],
1129+ true ,
1130+ $ result
1131+ );
1132+
1133+ $ response = $ this ->userManagement ->updateOrganizationMembership ($ organizationMembershipId , null , $ roleSlugs );
1134+ $ this ->assertSame ($ this ->organizationMembershipFixture (), $ response ->toArray ());
1135+ }
1136+
1137+
10831138 public function testDeactivateOrganizationMembership ()
10841139 {
10851140 $ organizationMembershipId = "om_01E4ZCR3C56J083X43JQXF3JK5 " ;
@@ -1396,6 +1451,11 @@ private function organizationMembershipResponseFixture($status = "active")
13961451 "role " => [
13971452 "slug " => "admin " ,
13981453 ],
1454+ "roles " => [
1455+ [
1456+ "slug " => "admin " ,
1457+ ],
1458+ ],
13991459 "status " => $ status ,
14001460 "created_at " => "2021-06-25T19:07:33.155Z " ,
14011461 "updated_at " => "2021-06-25T19:07:33.155Z " ,
@@ -1415,6 +1475,11 @@ private function organizationMembershipListResponseFixture()
14151475 "role " => [
14161476 "slug " => "admin " ,
14171477 ],
1478+ "roles " => [
1479+ [
1480+ "slug " => "admin " ,
1481+ ]
1482+ ],
14181483 "status " => "active " ,
14191484 "created_at " => "2021-06-25T19:07:33.155Z " ,
14201485 "updated_at " => "2021-06-25T19:07:33.155Z " ,
@@ -1438,6 +1503,11 @@ private function organizationMembershipFixture()
14381503 "role " => [
14391504 "slug " => "admin " ,
14401505 ],
1506+ "roles " => [
1507+ [
1508+ "slug " => "admin " ,
1509+ ],
1510+ ],
14411511 "status " => "active " ,
14421512 "createdAt " => "2021-06-25T19:07:33.155Z " ,
14431513 "updatedAt " => "2021-06-25T19:07:33.155Z " ,
0 commit comments