summaryrefslogtreecommitdiffstats
path: root/tests/acceptance/features/bootstrap/CommentsAppContext.php
diff options
context:
space:
mode:
authorDaniel Calviño Sánchez <danxuliu@gmail.com>2018-02-15 17:30:51 +0100
committerDaniel Calviño Sánchez <danxuliu@gmail.com>2018-02-15 17:48:07 +0100
commit81fdbc6554a7a9f3227e1a66a529bcd1f132b810 (patch)
tree19daf93056687a7750791d0bbd1cbb9c5745bfbe /tests/acceptance/features/bootstrap/CommentsAppContext.php
parent0a2c98ac895bac7fdd1d4ab954ec4721c9b1552d (diff)
downloadnextcloud-server-81fdbc6554a7a9f3227e1a66a529bcd1f132b810.tar.gz
nextcloud-server-81fdbc6554a7a9f3227e1a66a529bcd1f132b810.zip
Take into account the comment message when looking for it
Instead of checking that the list contains one comment it is now checked that a comment with certain message is visible. This makes the step (and the locator) more reusable in future tests and also simplifies the code. Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
Diffstat (limited to 'tests/acceptance/features/bootstrap/CommentsAppContext.php')
-rw-r--r--tests/acceptance/features/bootstrap/CommentsAppContext.php39
1 files changed, 16 insertions, 23 deletions
diff --git a/tests/acceptance/features/bootstrap/CommentsAppContext.php b/tests/acceptance/features/bootstrap/CommentsAppContext.php
index 8bc0f28ca34..7e804cfac23 100644
--- a/tests/acceptance/features/bootstrap/CommentsAppContext.php
+++ b/tests/acceptance/features/bootstrap/CommentsAppContext.php
@@ -47,10 +47,19 @@ class CommentsAppContext implements Context, ActorAwareInterface {
/**
* @return Locator
*/
- public static function commentFields() {
- return Locator::forThe()->css(".comments .comment .message")->
+ public static function commentList() {
+ return Locator::forThe()->css("ul.comments")->
descendantOf(FilesAppContext::currentSectionDetailsView())->
- describedAs("Comment fields in current section details view in Files app");
+ describedAs("Comment list in current section details view in Files app");
+ }
+
+ /**
+ * @return Locator
+ */
+ public static function commentWithText($text) {
+ return Locator::forThe()->xpath("//div[normalize-space() = '$text']/ancestor::li")->
+ descendantOf(self::commentList())->
+ describedAs("Comment with text \"$text\" in current section details view in Files app");
}
/**
@@ -62,26 +71,10 @@ class CommentsAppContext implements Context, ActorAwareInterface {
}
/**
- * @Then /^I see that a comment was added$/
+ * @Then /^I see a comment with "([^"]*)" as message$/
*/
- public function iSeeThatACommentWasAdded() {
- $self = $this;
-
- $result = Utils::waitFor(function () use ($self) {
- return $self->isCommentAdded();
- }, 5, 0.5);
-
- PHPUnit_Framework_Assert::assertTrue($result);
- }
-
- public function isCommentAdded() {
- try {
- $locator = self::commentFields();
- $comments = $this->actor->getSession()->getPage()->findAll($locator->getSelector(), $locator->getLocator());
- PHPUnit_Framework_Assert::assertSame(1, count($comments));
- } catch (PHPUnit_Framework_ExpectationFailedException $e) {
- return false;
- }
- return true;
+ public function iSeeACommentWithAsMessage($commentText) {
+ PHPUnit_Framework_Assert::assertTrue(
+ $this->actor->find(self::commentWithText($commentText), 10)->isVisible());
}
}