summaryrefslogtreecommitdiffstats
path: root/tests/acceptance
diff options
context:
space:
mode:
Diffstat (limited to 'tests/acceptance')
-rw-r--r--tests/acceptance/features/bootstrap/FileListContext.php118
-rw-r--r--tests/acceptance/features/bootstrap/FilesAppContext.php2
2 files changed, 66 insertions, 54 deletions
diff --git a/tests/acceptance/features/bootstrap/FileListContext.php b/tests/acceptance/features/bootstrap/FileListContext.php
index 65cd02a3abc..d15e8ba40f4 100644
--- a/tests/acceptance/features/bootstrap/FileListContext.php
+++ b/tests/acceptance/features/bootstrap/FileListContext.php
@@ -28,118 +28,130 @@ class FileListContext implements Context, ActorAwareInterface {
use ActorAware;
/**
+ * @var Locator
+ */
+ private $fileListAncestor;
+
+ /**
+ * @BeforeScenario
+ */
+ public function initializeFileListAncestor() {
+ $this->fileListAncestor = FilesAppContext::currentSectionMainView();
+ }
+
+ /**
* @return Locator
*/
- public static function createMenuButton() {
+ public static function createMenuButton($fileListAncestor) {
return Locator::forThe()->css("#controls .button.new")->
- descendantOf(FilesAppContext::currentSectionMainView())->
- describedAs("Create menu button in Files app");
+ descendantOf($fileListAncestor)->
+ describedAs("Create menu button in file list");
}
/**
* @return Locator
*/
- private static function createMenuItemFor($newType) {
+ private static function createMenuItemFor($fileListAncestor, $newType) {
return Locator::forThe()->xpath("//div[contains(concat(' ', normalize-space(@class), ' '), ' newFileMenu ')]//span[normalize-space() = '$newType']/ancestor::li")->
- descendantOf(FilesAppContext::currentSectionMainView())->
- describedAs("Create $newType menu item in Files app");
+ descendantOf($fileListAncestor)->
+ describedAs("Create $newType menu item in file list");
}
/**
* @return Locator
*/
- public static function createNewFolderMenuItem() {
- return self::createMenuItemFor("New folder");
+ public static function createNewFolderMenuItem($fileListAncestor) {
+ return self::createMenuItemFor($fileListAncestor, "New folder");
}
/**
* @return Locator
*/
- public static function createNewFolderMenuItemNameInput() {
+ public static function createNewFolderMenuItemNameInput($fileListAncestor) {
return Locator::forThe()->css(".filenameform input")->
- descendantOf(self::createNewFolderMenuItem())->
- describedAs("Name input in create new folder menu item in Files app");
+ descendantOf(self::createNewFolderMenuItem($fileListAncestor))->
+ describedAs("Name input in create new folder menu item in file list");
}
/**
* @return Locator
*/
- public static function rowForFile($fileName) {
+ public static function rowForFile($fileListAncestor, $fileName) {
return Locator::forThe()->xpath("//*[@id = 'fileList']//span[contains(concat(' ', normalize-space(@class), ' '), ' nametext ') and normalize-space() = '$fileName']/ancestor::tr")->
- descendantOf(FilesAppContext::currentSectionMainView())->
- describedAs("Row for file $fileName in Files app");
+ descendantOf($fileListAncestor)->
+ describedAs("Row for file $fileName in file list");
}
/**
* @return Locator
*/
- public static function rowForFilePreceding($fileName1, $fileName2) {
+ public static function rowForFilePreceding($fileListAncestor, $fileName1, $fileName2) {
return Locator::forThe()->xpath("//preceding-sibling::tr//span[contains(concat(' ', normalize-space(@class), ' '), ' nametext ') and normalize-space() = '$fileName1']/ancestor::tr")->
- descendantOf(self::rowForFile($fileName2))->
- describedAs("Row for file $fileName1 preceding $fileName2 in Files app");
+ descendantOf(self::rowForFile($fileListAncestor, $fileName2))->
+ describedAs("Row for file $fileName1 preceding $fileName2 in file list");
}
/**
* @return Locator
*/
- public static function favoriteMarkForFile($fileName) {
+ public static function favoriteMarkForFile($fileListAncestor, $fileName) {
return Locator::forThe()->css(".favorite-mark")->
- descendantOf(self::rowForFile($fileName))->
- describedAs("Favorite mark for file $fileName in Files app");
+ descendantOf(self::rowForFile($fileListAncestor, $fileName))->
+ describedAs("Favorite mark for file $fileName in file list");
}
/**
* @return Locator
*/
- public static function notFavoritedStateIconForFile($fileName) {
+ public static function notFavoritedStateIconForFile($fileListAncestor, $fileName) {
return Locator::forThe()->css(".icon-star")->
- descendantOf(self::favoriteMarkForFile($fileName))->
- describedAs("Not favorited state icon for file $fileName in Files app");
+ descendantOf(self::favoriteMarkForFile($fileListAncestor, $fileName))->
+ describedAs("Not favorited state icon for file $fileName in file list");
}
/**
* @return Locator
*/
- public static function favoritedStateIconForFile($fileName) {
+ public static function favoritedStateIconForFile($fileListAncestor, $fileName) {
return Locator::forThe()->css(".icon-starred")->
- descendantOf(self::favoriteMarkForFile($fileName))->
- describedAs("Favorited state icon for file $fileName in Files app");
+ descendantOf(self::favoriteMarkForFile($fileListAncestor, $fileName))->
+ describedAs("Favorited state icon for file $fileName in file list");
}
/**
* @return Locator
*/
- public static function mainLinkForFile($fileName) {
+ public static function mainLinkForFile($fileListAncestor, $fileName) {
return Locator::forThe()->css(".name")->
- descendantOf(self::rowForFile($fileName))->
- describedAs("Main link for file $fileName in Files app");
+ descendantOf(self::rowForFile($fileListAncestor, $fileName))->
+ describedAs("Main link for file $fileName in file list");
}
/**
* @return Locator
*/
- public static function renameInputForFile($fileName) {
+ public static function renameInputForFile($fileListAncestor, $fileName) {
return Locator::forThe()->css("input.filename")->
- descendantOf(self::rowForFile($fileName))->
- describedAs("Rename input for file $fileName in Files app");
+ descendantOf(self::rowForFile($fileListAncestor, $fileName))->
+ describedAs("Rename input for file $fileName in file list");
}
/**
* @return Locator
*/
- public static function shareActionForFile($fileName) {
+ public static function shareActionForFile($fileListAncestor, $fileName) {
return Locator::forThe()->css(".action-share")->
- descendantOf(self::rowForFile($fileName))->
- describedAs("Share action for file $fileName in Files app");
+ descendantOf(self::rowForFile($fileListAncestor, $fileName))->
+ describedAs("Share action for file $fileName in file list");
}
/**
* @return Locator
*/
- public static function fileActionsMenuButtonForFile($fileName) {
+ public static function fileActionsMenuButtonForFile($fileListAncestor, $fileName) {
return Locator::forThe()->css(".action-menu")->
- descendantOf(self::rowForFile($fileName))->
- describedAs("File actions menu button for file $fileName in Files app");
+ descendantOf(self::rowForFile($fileListAncestor, $fileName))->
+ describedAs("File actions menu button for file $fileName in file list");
}
/**
@@ -147,7 +159,7 @@ class FileListContext implements Context, ActorAwareInterface {
*/
public static function fileActionsMenu() {
return Locator::forThe()->css(".fileActionsMenu")->
- describedAs("File actions menu in Files app");
+ describedAs("File actions menu in file list");
}
/**
@@ -156,7 +168,7 @@ class FileListContext implements Context, ActorAwareInterface {
private static function fileActionsMenuItemFor($itemText) {
return Locator::forThe()->xpath("//a[normalize-space() = '$itemText']")->
descendantOf(self::fileActionsMenu())->
- describedAs($itemText . " item in file actions menu in Files app");
+ describedAs($itemText . " item in file actions menu in file list");
}
/**
@@ -198,17 +210,17 @@ class FileListContext implements Context, ActorAwareInterface {
* @Given I create a new folder named :folderName
*/
public function iCreateANewFolderNamed($folderName) {
- $this->actor->find(self::createMenuButton(), 10)->click();
+ $this->actor->find(self::createMenuButton($this->fileListAncestor), 10)->click();
- $this->actor->find(self::createNewFolderMenuItem(), 2)->click();
- $this->actor->find(self::createNewFolderMenuItemNameInput(), 2)->setValue($folderName . "\r");
+ $this->actor->find(self::createNewFolderMenuItem($this->fileListAncestor), 2)->click();
+ $this->actor->find(self::createNewFolderMenuItemNameInput($this->fileListAncestor), 2)->setValue($folderName . "\r");
}
/**
* @Given I open the details view for :fileName
*/
public function iOpenTheDetailsViewFor($fileName) {
- $this->actor->find(self::fileActionsMenuButtonForFile($fileName), 10)->click();
+ $this->actor->find(self::fileActionsMenuButtonForFile($this->fileListAncestor, $fileName), 10)->click();
$this->actor->find(self::detailsMenuItem(), 2)->click();
}
@@ -217,11 +229,11 @@ class FileListContext implements Context, ActorAwareInterface {
* @Given I rename :fileName1 to :fileName2
*/
public function iRenameTo($fileName1, $fileName2) {
- $this->actor->find(self::fileActionsMenuButtonForFile($fileName1), 10)->click();
+ $this->actor->find(self::fileActionsMenuButtonForFile($this->fileListAncestor, $fileName1), 10)->click();
$this->actor->find(self::renameMenuItem(), 2)->click();
- $this->actor->find(self::renameInputForFile($fileName1), 10)->setValue($fileName2 . "\r");
+ $this->actor->find(self::renameInputForFile($this->fileListAncestor, $fileName1), 10)->setValue($fileName2 . "\r");
}
/**
@@ -230,7 +242,7 @@ class FileListContext implements Context, ActorAwareInterface {
public function iMarkAsFavorite($fileName) {
$this->iSeeThatIsNotMarkedAsFavorite($fileName);
- $this->actor->find(self::fileActionsMenuButtonForFile($fileName), 10)->click();
+ $this->actor->find(self::fileActionsMenuButtonForFile($this->fileListAncestor, $fileName), 10)->click();
$this->actor->find(self::addToFavoritesMenuItem(), 2)->click();
}
@@ -241,7 +253,7 @@ class FileListContext implements Context, ActorAwareInterface {
public function iUnmarkAsFavorite($fileName) {
$this->iSeeThatIsMarkedAsFavorite($fileName);
- $this->actor->find(self::fileActionsMenuButtonForFile($fileName), 10)->click();
+ $this->actor->find(self::fileActionsMenuButtonForFile($this->fileListAncestor, $fileName), 10)->click();
$this->actor->find(self::removeFromFavoritesMenuItem(), 2)->click();
}
@@ -250,7 +262,7 @@ class FileListContext implements Context, ActorAwareInterface {
* @When I view :fileName in folder
*/
public function iViewInFolder($fileName) {
- $this->actor->find(self::fileActionsMenuButtonForFile($fileName), 10)->click();
+ $this->actor->find(self::fileActionsMenuButtonForFile($this->fileListAncestor, $fileName), 10)->click();
$this->actor->find(self::viewFileInFolderMenuItem(), 2)->click();
}
@@ -259,28 +271,28 @@ class FileListContext implements Context, ActorAwareInterface {
* @Then I see that the file list contains a file named :fileName
*/
public function iSeeThatTheFileListContainsAFileNamed($fileName) {
- PHPUnit_Framework_Assert::assertNotNull($this->actor->find(self::rowForFile($fileName), 10));
+ PHPUnit_Framework_Assert::assertNotNull($this->actor->find(self::rowForFile($this->fileListAncestor, $fileName), 10));
}
/**
* @Then I see that :fileName1 precedes :fileName2 in the file list
*/
public function iSeeThatPrecedesInTheFileList($fileName1, $fileName2) {
- PHPUnit_Framework_Assert::assertNotNull($this->actor->find(self::rowForFilePreceding($fileName1, $fileName2), 10));
+ PHPUnit_Framework_Assert::assertNotNull($this->actor->find(self::rowForFilePreceding($this->fileListAncestor, $fileName1, $fileName2), 10));
}
/**
* @Then I see that :fileName is marked as favorite
*/
public function iSeeThatIsMarkedAsFavorite($fileName) {
- PHPUnit_Framework_Assert::assertNotNull($this->actor->find(self::favoritedStateIconForFile($fileName), 10));
+ PHPUnit_Framework_Assert::assertNotNull($this->actor->find(self::favoritedStateIconForFile($this->fileListAncestor, $fileName), 10));
}
/**
* @Then I see that :fileName is not marked as favorite
*/
public function iSeeThatIsNotMarkedAsFavorite($fileName) {
- PHPUnit_Framework_Assert::assertNotNull($this->actor->find(self::notFavoritedStateIconForFile($fileName), 10));
+ PHPUnit_Framework_Assert::assertNotNull($this->actor->find(self::notFavoritedStateIconForFile($this->fileListAncestor, $fileName), 10));
}
}
diff --git a/tests/acceptance/features/bootstrap/FilesAppContext.php b/tests/acceptance/features/bootstrap/FilesAppContext.php
index 34f83ce426f..81ba7b69844 100644
--- a/tests/acceptance/features/bootstrap/FilesAppContext.php
+++ b/tests/acceptance/features/bootstrap/FilesAppContext.php
@@ -266,7 +266,7 @@ class FilesAppContext implements Context, ActorAwareInterface {
* @Given I share the link for :fileName
*/
public function iShareTheLinkFor($fileName) {
- $this->actor->find(FileListContext::shareActionForFile($fileName), 10)->click();
+ $this->actor->find(FileListContext::shareActionForFile(self::currentSectionMainView(), $fileName), 10)->click();
$this->actor->find(self::shareLinkCheckbox(), 5)->click();
}