Skip to content

Commit

Permalink
add more tests scenarios
Browse files Browse the repository at this point in the history
  • Loading branch information
amrita-shrestha committed Apr 26, 2024
1 parent 03101d4 commit 46b2541
Show file tree
Hide file tree
Showing 3 changed files with 594 additions and 69 deletions.
80 changes: 41 additions & 39 deletions tests/TestHelpers/GraphHelper.php
Original file line number Diff line number Diff line change
Expand Up @@ -1674,36 +1674,22 @@ public static function getPermissionNameByPermissionRoleId(
}

/**
* @param string $baseUrl
* @param string $xRequestId
* @param string $user
* @param string $password
* @param string $spaceId
* @param string $itemId
* @param array $shareeIds
* @param array $shareTypes
* @param string|null $permissionsRole
* @param string|null $permissionsAction
* @param string|null $expireDate
*
* @return ResponseInterface
* @throws \JsonException
* @return array
* @throws \Exception
*/
public static function sendSharingInvitation(
string $baseUrl,
string $xRequestId,
string $user,
string $password,
string $spaceId,
string $itemId,
public static function createShareInviteBody(
array $shareeIds,
array $shareTypes,
?string $permissionsRole,
?string $permissionsAction,
?string $expireDate
): ResponseInterface {
$url = self::getBetaFullUrl($baseUrl, "drives/$spaceId/items/$itemId/invite");
): array {
$body = [];

foreach ($shareeIds as $index => $shareeId) {
Expand All @@ -1726,6 +1712,41 @@ public static function sendSharingInvitation(
if ($expireDate !== null) {
$body['expirationDateTime'] = $expireDate;
}
return $body;
}

/**
* @param string $baseUrl
* @param string $xRequestId
* @param string $user
* @param string $password
* @param string $spaceId
* @param string $itemId
* @param array $shareeIds
* @param array $shareTypes
* @param string|null $permissionsRole
* @param string|null $permissionsAction
* @param string|null $expireDate
*
* @return ResponseInterface
* @throws \JsonException
* @throws \Exception
*/
public static function sendSharingInvitation(
string $baseUrl,
string $xRequestId,
string $user,
string $password,
string $spaceId,
string $itemId,
array $shareeIds,
array $shareTypes,
?string $permissionsRole,
?string $permissionsAction,
?string $expireDate
): ResponseInterface {
$url = self::getBetaFullUrl($baseUrl, "drives/$spaceId/items/$itemId/invite");
$body = self::createShareInviteBody($shareeIds, $shareTypes, $permissionsRole, $permissionsAction, $expireDate);

return HttpRequestHelper::post(
$url,
Expand Down Expand Up @@ -2054,8 +2075,9 @@ public static function getDrivePermissionsList(
* @param string|null $expireDate
*
* @return ResponseInterface
* @throws \Exception|GuzzleException
*/
public static function sendSharingInvitationForDriveRoot(
public static function sendSharingInvitationForDrive(
string $baseUrl,
string $xRequestId,
string $user,
Expand All @@ -2068,27 +2090,7 @@ public static function sendSharingInvitationForDriveRoot(
?string $expireDate
): ResponseInterface {
$url = self::getBetaFullUrl($baseUrl, "drives/$spaceId/root/invite");

foreach ($shareeIds as $index => $shareeId) {
$shareType = $shareTypes[$index];
$body['recipients'][] = [
"@libre.graph.recipient.type" => $shareType,
"objectId" => $shareeId
];
}

if ($permissionsRole !== null) {
$roleId = self::getPermissionsRoleIdByName($permissionsRole);
$body['roles'] = [$roleId];
}

if ($permissionsAction !== null) {
$body['@libre.graph.permissions.actions'] = ['libre.graph/driveItem/' . $permissionsAction];
}

if ($expireDate !== null) {
$body['expirationDateTime'] = $expireDate;
}
$body = self::createShareInviteBody($shareeIds, $shareTypes, $permissionsRole, $permissionsAction, $expireDate);

return HttpRequestHelper::post(
$url,
Expand Down

0 comments on commit 46b2541

Please sign in to comment.