Skip to content

Commit

Permalink
test(refactor): change the structure of destinations to make it more …
Browse files Browse the repository at this point in the history
…readable
  • Loading branch information
anon-pradip committed Nov 12, 2024
1 parent f6fd630 commit 55994ab
Show file tree
Hide file tree
Showing 2 changed files with 63 additions and 29 deletions.
64 changes: 49 additions & 15 deletions tests/acceptance/bootstrap/SpacesContext.php
Original file line number Diff line number Diff line change
Expand Up @@ -2040,36 +2040,30 @@ public function userCopiesMovesFileIntoInsideSpaceUsingFileId(string $user, stri
}

/**
* @Given /^user "([^"]*)" has (copied|moved|renamed) file "([^"]*)" into "([^"]*)" inside space "([^"]*)" using file-id "([^"]*)"$/
* @Given /^user "([^"]*)" has (copied|moved) a file with id "([^"]*)" as "([^"]*)" into folder "([^"]*)" inside space "([^"]*)"$/
*
* @param string $user
* @param string $actionType
* @param string $sourceFile
* @param string $fileId
* @param string $destinationFile
* @param string $destinationFolder
* @param string $spaceName
* @param string $fileId
*
* @throws GuzzleException
* @return void
*/
public function userHasCopiedOrMovedFileInsideSpaceUsingFileId(
string $user,
string $actionType,
string $sourceFile,
string $fileId,
string $destinationFile,
string $destinationFolder,
string $spaceName,
string $fileId
): void {
// split the source when there are sub-folders
$sourceFile = \trim($sourceFile, "/");
$sourceFile = \explode("/", $sourceFile);
$sourceFile = \end($sourceFile);
$destinationFile = \trim($destinationFile, "/");
if ($actionType === 'copied') {
$fileDestination = $this->escapePath($destinationFile) . '/' . $this->escapePath($sourceFile);
} elseif ($actionType === 'renamed' || $actionType === 'moved') {
$fileDestination = $destinationFile;
}
$destinationFolder = \trim($destinationFolder, "/");

$fileDestination = $destinationFolder . '/' . $this->escapePath($destinationFile);

$baseUrl = $this->featureContext->getBaseUrl();
$sourceDavPath = WebdavHelper::getDavPath($this->featureContext->getDavPathVersion());
Expand All @@ -2093,6 +2087,45 @@ public function userHasCopiedOrMovedFileInsideSpaceUsingFileId(
);
}

/**
* @Given /^user "([^"]*)" has renamed a file with id "([^"]*)" to "([^"]*)" inside space "([^"]*)"$/
*
* @param string $user
* @param string $fileId
* @param string $destinationFile
* @param string $spaceName
*
* @throws GuzzleException
* @return void
*/
public function userHasRenamedFileInsideSpaceUsingFileId(
string $user,
string $fileId,
string $destinationFile,
string $spaceName
): void {
$destinationFile = \trim($destinationFile, "/");

$fileDestination = $this->escapePath($destinationFile);

$baseUrl = $this->featureContext->getBaseUrl();
$sourceDavPath = WebdavHelper::getDavPath($this->featureContext->getDavPathVersion());
if ($spaceName === 'Shares') {
$sharesPath = $this->featureContext->getSharesMountPath($user, $fileDestination);
$davPath = WebDavHelper::getDavPath($this->featureContext->getDavPathVersion());
$headers['Destination'] = "$baseUrl/$davPath/$sharesPath";
} else {
$headers['Destination'] = $this->destinationHeaderValueWithSpaceName($user, $fileDestination, $spaceName, $fileId);
}
$fullUrl = "$baseUrl/$sourceDavPath/$fileId";
$response = $this->moveFilesAndFoldersRequest($user, $fullUrl, $headers);
Assert::assertEquals(
201,
$response->getStatusCode(),
"Expected response status code should be 201"
);
}

/**
* @When /^user "([^"]*)" tries to move (?:file|folder) "([^"]*)" of space "([^"]*)" to (space|folder) "([^"]*)" using its id in destination path$/
* @When /^user "([^"]*)" moves (?:file|folder) "([^"]*)" of space "([^"]*)" to (folder) "([^"]*)" using its id in destination path$/
Expand Down Expand Up @@ -3656,14 +3689,15 @@ public function userHasStoredIdOfPathOfTheSpace(string $user, string $path, stri
/**
* @Then /^user "([^"]*)" (folder|file) "([^"]*)" of the space "([^"]*)" should have the previously stored id$/
*
* @param string|null $user
* @param string $user
* @param string $fileOrFolder
* @param string $path
* @param string $spaceName
*
* @return void
*
* @throws GuzzleException
* @throws JsonException
*/
public function userFolderOfTheSpaceShouldHaveThePreviouslyStoredId(string $user, string $fileOrFolder, string $path, string $spaceName): void {
$this->getSpaceIdByName($user, $spaceName);
Expand Down
28 changes: 14 additions & 14 deletions tests/acceptance/features/apiActivities/activitiesByFileId.feature
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Feature: check activities
Given user "Alice" has uploaded file with content "ownCloud test text file" to "textfile.txt"
And we save it into "FILEID"
And user "Alice" has created folder "newFolder"
And user "Alice" has copied file "textfile.txt" into "newFolder" inside space "Personal" using file-id "<<FILEID>>"
And user "Alice" has copied a file with id "<<FILEID>>" as "textfile.txt" into folder "newFolder" inside space "Personal"
When user "Alice" lists the activities of folder "newFolder" from space "Personal" using the Graph API
Then the HTTP status code should be "200"
And the JSON data of the response should match
Expand Down Expand Up @@ -249,7 +249,7 @@ Feature: check activities
Scenario: check rename activity
Given user "Alice" has uploaded file with content "ownCloud test text file" to "textfile.txt"
And we save it into "FILEID"
And user "Alice" has renamed file "textfile.txt" into "renamed.txt" inside space "Personal" using file-id "<<FILEID>>"
And user "Alice" has renamed a file with id "<<FILEID>>" to "renamed.txt" inside space "Personal"
When user "Alice" lists the activities of file "renamed.txt" from space "Personal" using the Graph API
Then the HTTP status code should be "200"
And the JSON data of the response should match
Expand Down Expand Up @@ -365,7 +365,7 @@ Feature: check activities
Given user "Alice" has uploaded file with content "ownCloud test text file" to "textfile.txt"
And we save it into "FILEID"
And user "Alice" has created folder "New Folder"
And user "Alice" has moved file "textfile.txt" into "New Folder/textfile.txt" inside space "Personal" using file-id "<<FILEID>>"
And user "Alice" has moved a file with id "<<FILEID>>" as "textfile.txt" into folder "New Folder" inside space "Personal"
When user "Alice" lists the activities of file "New Folder/textfile.txt" from space "Personal" using the Graph API
Then the HTTP status code should be "200"
And the JSON data of the response should match
Expand Down Expand Up @@ -478,8 +478,8 @@ Feature: check activities
Given user "Alice" has uploaded file with content "ownCloud test text file" to "textfile.txt"
And we save it into "FILEID"
And user "Alice" has created folder "FOLDER"
And user "Alice" has moved file "textfile.txt" into "FOLDER/textfile.txt" inside space "Personal" using file-id "<<FILEID>>"
When user "Alice" lists the activities of file "FOLDER" from space "Personal" using the Graph API
And user "Alice" has moved a file with id "<<FILEID>>" as "textfile.txt" into folder "FOLDER" inside space "Personal"
When user "Alice" lists the activities of folder "FOLDER" from space "Personal" using the Graph API
Then the HTTP status code should be "200"
And the JSON data of the response should match
"""
Expand Down Expand Up @@ -587,11 +587,11 @@ Feature: check activities
"""


Scenario: check activities of destinaton file and folder after moving a 0 byte file using file-id
Scenario: check activities of destination file and folder after moving a 0 byte file using file-id
Given user "Alice" has uploaded file "filesForUpload/zerobyte.txt" to "zerobyte.txt"
And we save it into "FILEID"
And user "Alice" has created folder "FOLDER"
And user "Alice" has moved file "zerobyte.txt" into "FOLDER/zerobyte.txt" inside space "Personal" using file-id "<<FILEID>>"
And user "Alice" has moved a file with id "<<FILEID>>" as "zerobyte.txt" into folder "FOLDER" inside space "Personal"
When user "Alice" lists the activities of file "FOLDER/zerobyte.txt" from space "Personal" using the Graph API
Then the HTTP status code should be "200"
And the JSON data of the response should match
Expand Down Expand Up @@ -698,7 +698,7 @@ Feature: check activities
}
}
"""
When user "Alice" lists the activities of file "FOLDER" from space "Personal" using the Graph API
When user "Alice" lists the activities of folder "FOLDER" from space "Personal" using the Graph API
Then the HTTP status code should be "200"
And the JSON data of the response should match
"""
Expand Down Expand Up @@ -806,11 +806,11 @@ Feature: check activities
"""


Scenario: check activities of destinaton file and folder after moving a file by renaming destination file using file-id
Scenario: check activities of destination file and folder after moving a file by renaming destination file using file-id
Given user "Alice" has uploaded file with content "ownCloud test text file" to "textfile.txt"
And we save it into "FILEID"
And user "Alice" has created folder "/FOLDER"
And user "Alice" has moved file "textfile.txt" into "FOLDER/renamed.txt" inside space "Personal" using file-id "<<FILEID>>"
And user "Alice" has moved a file with id "<<FILEID>>" as "renamed.txt" into folder "FOLDER" inside space "Personal"
When user "Alice" lists the activities of file "FOLDER/renamed.txt" from space "Personal" using the Graph API
Then the HTTP status code should be "200"
And the JSON data of the response should match
Expand Down Expand Up @@ -926,7 +926,7 @@ Feature: check activities
}
}
"""
When user "Alice" lists the activities of file "FOLDER" from space "Personal" using the Graph API
When user "Alice" lists the activities of folder "FOLDER" from space "Personal" using the Graph API
Then the HTTP status code should be "200"
And the JSON data of the response should match
"""
Expand Down Expand Up @@ -1043,11 +1043,11 @@ Feature: check activities
"""


Scenario: check activities of destinaton file and folder after moving a 0 byte file by renaming destination file using file-id
Scenario: check activities of destination file and folder after moving a 0 byte file by renaming destination file using file-id
Given user "Alice" has uploaded file "filesForUpload/zerobyte.txt" to "/zerobyte.txt"
And we save it into "FILEID"
And user "Alice" has created folder "/FOLDER"
And user "Alice" has moved file "zerobye.txt" into "FOLDER/renamed.txt" inside space "Personal" using file-id "<<FILEID>>"
And user "Alice" has moved a file with id "<<FILEID>>" as "renamed.txt" into folder "FOLDER" inside space "Personal"
When user "Alice" lists the activities of file "FOLDER/renamed.txt" from space "Personal" using the Graph API
Then the HTTP status code should be "200"
And the JSON data of the response should match
Expand Down Expand Up @@ -1163,7 +1163,7 @@ Feature: check activities
}
}
"""
When user "Alice" lists the activities of file "FOLDER" from space "Personal" using the Graph API
When user "Alice" lists the activities of folder "FOLDER" from space "Personal" using the Graph API
Then the HTTP status code should be "200"
And the JSON data of the response should match
"""
Expand Down

0 comments on commit 55994ab

Please sign in to comment.