From: Daniel Calviño Sánchez Date: Fri, 23 Nov 2018 12:32:27 +0000 (+0100) Subject: Rename "FilesSharingAppContext" to "PublicShareContext" X-Git-Tag: v14.0.5RC1~74^2 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=c55054e2a512c99807998bd134779176f81f9fbc;p=nextcloud-server.git Rename "FilesSharingAppContext" to "PublicShareContext" Having both "FilesAppSharingContext" and "FilesSharingAppContext" was confusing, so "FilesSharingAppContext" was renamed to a more descriptive name. Signed-off-by: Daniel Calviño Sánchez --- diff --git a/tests/acceptance/config/behat.yml b/tests/acceptance/config/behat.yml index 7d64e6a207c..5149180d9bd 100644 --- a/tests/acceptance/config/behat.yml +++ b/tests/acceptance/config/behat.yml @@ -17,9 +17,9 @@ default: - FileListContext - FilesAppContext - FilesAppSharingContext - - FilesSharingAppContext - LoginPageContext - NotificationContext + - PublicShareContext - SettingsContext - SettingsMenuContext - ThemingAppContext @@ -44,9 +44,9 @@ default: - FileListContext - FilesAppContext - FilesAppSharingContext - - FilesSharingAppContext - LoginPageContext - NotificationContext + - PublicShareContext - SettingsContext - SettingsMenuContext - ThemingAppContext diff --git a/tests/acceptance/features/bootstrap/FilesSharingAppContext.php b/tests/acceptance/features/bootstrap/FilesSharingAppContext.php deleted file mode 100644 index 1fe12d5f42d..00000000000 --- a/tests/acceptance/features/bootstrap/FilesSharingAppContext.php +++ /dev/null @@ -1,208 +0,0 @@ -. - * - */ - -use Behat\Behat\Context\Context; - -class FilesSharingAppContext implements Context, ActorAwareInterface { - - use ActorAware; - use FileListAncestorSetter; - - /** - * @return Locator - */ - public static function passwordField() { - return Locator::forThe()->field("password")-> - describedAs("Password field in Authenticate page"); - } - - /** - * @return Locator - */ - public static function authenticateButton() { - return Locator::forThe()->id("password-submit")-> - describedAs("Authenticate button in Authenticate page"); - } - - /** - * @return Locator - */ - public static function wrongPasswordMessage() { - return Locator::forThe()->xpath("//*[@class = 'warning' and normalize-space() = 'The password is wrong. Try again.']")-> - describedAs("Wrong password message in Authenticate page"); - } - - /** - * @return Locator - */ - public static function shareMenuButton() { - return Locator::forThe()->id("header-actions-toggle")-> - describedAs("Share menu button in Shared file page"); - } - - /** - * @return Locator - */ - public static function shareMenu() { - return Locator::forThe()->id("header-actions-menu")-> - describedAs("Share menu in Shared file page"); - } - - /** - * @return Locator - */ - public static function downloadItemInShareMenu() { - return Locator::forThe()->id("download")-> - descendantOf(self::shareMenu())-> - describedAs("Download item in Share menu in Shared file page"); - } - - /** - * @return Locator - */ - public static function directLinkItemInShareMenu() { - return Locator::forThe()->id("directLink-container")-> - descendantOf(self::shareMenu())-> - describedAs("Direct link item in Share menu in Shared file page"); - } - - /** - * @return Locator - */ - public static function saveItemInShareMenu() { - return Locator::forThe()->id("save-external-share")-> - descendantOf(self::shareMenu())-> - describedAs("Save item in Share menu in Shared file page"); - } - - /** - * @return Locator - */ - public static function textPreview() { - return Locator::forThe()->css(".text-preview")-> - describedAs("Text preview in Shared file page"); - } - - /** - * @When I visit the shared link I wrote down - */ - public function iVisitTheSharedLinkIWroteDown() { - $this->actor->getSession()->visit($this->actor->getSharedNotebook()["shared link"]); - } - - /** - * @When I visit the direct download shared link I wrote down - */ - public function iVisitTheDirectDownloadSharedLinkIWroteDown() { - $this->actor->getSession()->visit($this->actor->getSharedNotebook()["shared link"] . "/download"); - } - - /** - * @When I authenticate with password :password - */ - public function iAuthenticateWithPassword($password) { - $this->actor->find(self::passwordField(), 10)->setValue($password); - $this->actor->find(self::authenticateButton())->click(); - } - - /** - * @When I open the Share menu - */ - public function iOpenTheShareMenu() { - $this->actor->find(self::shareMenuButton(), 10)->click(); - } - - /** - * @Then I see that the current page is the Authenticate page for the shared link I wrote down - */ - public function iSeeThatTheCurrentPageIsTheAuthenticatePageForTheSharedLinkIWroteDown() { - PHPUnit_Framework_Assert::assertEquals( - $this->actor->getSharedNotebook()["shared link"] . "/authenticate/showShare", - $this->actor->getSession()->getCurrentUrl()); - } - - /** - * @Then I see that the current page is the Authenticate page for the direct download shared link I wrote down - */ - public function iSeeThatTheCurrentPageIsTheAuthenticatePageForTheDirectDownloadSharedLinkIWroteDown() { - PHPUnit_Framework_Assert::assertEquals( - $this->actor->getSharedNotebook()["shared link"] . "/authenticate/downloadShare", - $this->actor->getSession()->getCurrentUrl()); - } - - /** - * @Then I see that the current page is the shared link I wrote down - */ - public function iSeeThatTheCurrentPageIsTheSharedLinkIWroteDown() { - PHPUnit_Framework_Assert::assertEquals( - $this->actor->getSharedNotebook()["shared link"], - $this->actor->getSession()->getCurrentUrl()); - - $this->setFileListAncestorForActor(null, $this->actor); - } - - /** - * @Then I see that the current page is the direct download shared link I wrote down - */ - public function iSeeThatTheCurrentPageIsTheDirectDownloadSharedLinkIWroteDown() { - PHPUnit_Framework_Assert::assertEquals( - $this->actor->getSharedNotebook()["shared link"] . "/download", - $this->actor->getSession()->getCurrentUrl()); - } - - /** - * @Then I see that a wrong password for the shared file message is shown - */ - public function iSeeThatAWrongPasswordForTheSharedFileMessageIsShown() { - PHPUnit_Framework_Assert::assertTrue( - $this->actor->find(self::wrongPasswordMessage(), 10)->isVisible()); - } - - /** - * @Then I see that the Share menu is shown - */ - public function iSeeThatTheShareMenuIsShown() { - // Unlike other menus, the Share menu is always present in the DOM, so - // the element could be found when it was no made visible yet due to the - // command not having been processed by the browser. - if (!WaitFor::elementToBeEventuallyShown( - $this->actor, self::shareMenu(), $timeout = 10 * $this->actor->getFindTimeoutMultiplier())) { - PHPUnit_Framework_Assert::fail("The Share menu is not visible yet after $timeout seconds"); - } - - PHPUnit_Framework_Assert::assertTrue( - $this->actor->find(self::downloadItemInShareMenu())->isVisible()); - PHPUnit_Framework_Assert::assertTrue( - $this->actor->find(self::directLinkItemInShareMenu())->isVisible()); - PHPUnit_Framework_Assert::assertTrue( - $this->actor->find(self::saveItemInShareMenu())->isVisible()); - } - - /** - * @Then I see that the shared file preview shows the text :text - */ - public function iSeeThatTheSharedFilePreviewShowsTheText($text) { - PHPUnit_Framework_Assert::assertContains($text, $this->actor->find(self::textPreview(), 10)->getText()); - } - -} diff --git a/tests/acceptance/features/bootstrap/PublicShareContext.php b/tests/acceptance/features/bootstrap/PublicShareContext.php new file mode 100644 index 00000000000..d475f1c6a17 --- /dev/null +++ b/tests/acceptance/features/bootstrap/PublicShareContext.php @@ -0,0 +1,208 @@ +. + * + */ + +use Behat\Behat\Context\Context; + +class PublicShareContext implements Context, ActorAwareInterface { + + use ActorAware; + use FileListAncestorSetter; + + /** + * @return Locator + */ + public static function passwordField() { + return Locator::forThe()->field("password")-> + describedAs("Password field in Authenticate page"); + } + + /** + * @return Locator + */ + public static function authenticateButton() { + return Locator::forThe()->id("password-submit")-> + describedAs("Authenticate button in Authenticate page"); + } + + /** + * @return Locator + */ + public static function wrongPasswordMessage() { + return Locator::forThe()->xpath("//*[@class = 'warning' and normalize-space() = 'The password is wrong. Try again.']")-> + describedAs("Wrong password message in Authenticate page"); + } + + /** + * @return Locator + */ + public static function shareMenuButton() { + return Locator::forThe()->id("header-actions-toggle")-> + describedAs("Share menu button in Shared file page"); + } + + /** + * @return Locator + */ + public static function shareMenu() { + return Locator::forThe()->id("header-actions-menu")-> + describedAs("Share menu in Shared file page"); + } + + /** + * @return Locator + */ + public static function downloadItemInShareMenu() { + return Locator::forThe()->id("download")-> + descendantOf(self::shareMenu())-> + describedAs("Download item in Share menu in Shared file page"); + } + + /** + * @return Locator + */ + public static function directLinkItemInShareMenu() { + return Locator::forThe()->id("directLink-container")-> + descendantOf(self::shareMenu())-> + describedAs("Direct link item in Share menu in Shared file page"); + } + + /** + * @return Locator + */ + public static function saveItemInShareMenu() { + return Locator::forThe()->id("save-external-share")-> + descendantOf(self::shareMenu())-> + describedAs("Save item in Share menu in Shared file page"); + } + + /** + * @return Locator + */ + public static function textPreview() { + return Locator::forThe()->css(".text-preview")-> + describedAs("Text preview in Shared file page"); + } + + /** + * @When I visit the shared link I wrote down + */ + public function iVisitTheSharedLinkIWroteDown() { + $this->actor->getSession()->visit($this->actor->getSharedNotebook()["shared link"]); + } + + /** + * @When I visit the direct download shared link I wrote down + */ + public function iVisitTheDirectDownloadSharedLinkIWroteDown() { + $this->actor->getSession()->visit($this->actor->getSharedNotebook()["shared link"] . "/download"); + } + + /** + * @When I authenticate with password :password + */ + public function iAuthenticateWithPassword($password) { + $this->actor->find(self::passwordField(), 10)->setValue($password); + $this->actor->find(self::authenticateButton())->click(); + } + + /** + * @When I open the Share menu + */ + public function iOpenTheShareMenu() { + $this->actor->find(self::shareMenuButton(), 10)->click(); + } + + /** + * @Then I see that the current page is the Authenticate page for the shared link I wrote down + */ + public function iSeeThatTheCurrentPageIsTheAuthenticatePageForTheSharedLinkIWroteDown() { + PHPUnit_Framework_Assert::assertEquals( + $this->actor->getSharedNotebook()["shared link"] . "/authenticate/showShare", + $this->actor->getSession()->getCurrentUrl()); + } + + /** + * @Then I see that the current page is the Authenticate page for the direct download shared link I wrote down + */ + public function iSeeThatTheCurrentPageIsTheAuthenticatePageForTheDirectDownloadSharedLinkIWroteDown() { + PHPUnit_Framework_Assert::assertEquals( + $this->actor->getSharedNotebook()["shared link"] . "/authenticate/downloadShare", + $this->actor->getSession()->getCurrentUrl()); + } + + /** + * @Then I see that the current page is the shared link I wrote down + */ + public function iSeeThatTheCurrentPageIsTheSharedLinkIWroteDown() { + PHPUnit_Framework_Assert::assertEquals( + $this->actor->getSharedNotebook()["shared link"], + $this->actor->getSession()->getCurrentUrl()); + + $this->setFileListAncestorForActor(null, $this->actor); + } + + /** + * @Then I see that the current page is the direct download shared link I wrote down + */ + public function iSeeThatTheCurrentPageIsTheDirectDownloadSharedLinkIWroteDown() { + PHPUnit_Framework_Assert::assertEquals( + $this->actor->getSharedNotebook()["shared link"] . "/download", + $this->actor->getSession()->getCurrentUrl()); + } + + /** + * @Then I see that a wrong password for the shared file message is shown + */ + public function iSeeThatAWrongPasswordForTheSharedFileMessageIsShown() { + PHPUnit_Framework_Assert::assertTrue( + $this->actor->find(self::wrongPasswordMessage(), 10)->isVisible()); + } + + /** + * @Then I see that the Share menu is shown + */ + public function iSeeThatTheShareMenuIsShown() { + // Unlike other menus, the Share menu is always present in the DOM, so + // the element could be found when it was no made visible yet due to the + // command not having been processed by the browser. + if (!WaitFor::elementToBeEventuallyShown( + $this->actor, self::shareMenu(), $timeout = 10 * $this->actor->getFindTimeoutMultiplier())) { + PHPUnit_Framework_Assert::fail("The Share menu is not visible yet after $timeout seconds"); + } + + PHPUnit_Framework_Assert::assertTrue( + $this->actor->find(self::downloadItemInShareMenu())->isVisible()); + PHPUnit_Framework_Assert::assertTrue( + $this->actor->find(self::directLinkItemInShareMenu())->isVisible()); + PHPUnit_Framework_Assert::assertTrue( + $this->actor->find(self::saveItemInShareMenu())->isVisible()); + } + + /** + * @Then I see that the shared file preview shows the text :text + */ + public function iSeeThatTheSharedFilePreviewShowsTheText($text) { + PHPUnit_Framework_Assert::assertContains($text, $this->actor->find(self::textPreview(), 10)->getText()); + } + +}