Add acceptance test for accepting an incoming share
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
This commit is contained in:
parent
887e740434
commit
9386f24ab0
|
@ -20,6 +20,33 @@ Feature: app-files-sharing
|
||||||
And I see that the "Sharing" tab in the details view is eventually loaded
|
And I see that the "Sharing" tab in the details view is eventually loaded
|
||||||
And I see that the file is shared with me by "admin"
|
And I see that the file is shared with me by "admin"
|
||||||
|
|
||||||
|
Scenario: share a file with another user that needs to accept shares
|
||||||
|
Given I act as John
|
||||||
|
And I am logged in as the admin
|
||||||
|
And I act as Jane
|
||||||
|
And I am logged in
|
||||||
|
And I visit the settings page
|
||||||
|
And I open the "Sharing" section
|
||||||
|
And I disable accepting the shares by default
|
||||||
|
And I see that shares are not accepted by default
|
||||||
|
And I act as John
|
||||||
|
And I rename "welcome.txt" to "farewell.txt"
|
||||||
|
And I see that the file list contains a file named "farewell.txt"
|
||||||
|
When I share "farewell.txt" with "user0"
|
||||||
|
And I see that the file is shared with "user0"
|
||||||
|
And I act as Jane
|
||||||
|
And I open the Files app
|
||||||
|
And I see that the file list does not contain a file named "farewell.txt"
|
||||||
|
And I accept the share for "/farewell.txt" in the notifications
|
||||||
|
# The Files app is open again to reload the file list
|
||||||
|
And I open the Files app
|
||||||
|
Then I see that the file list contains a file named "farewell.txt"
|
||||||
|
And I open the details view for "farewell.txt"
|
||||||
|
And I see that the details view is open
|
||||||
|
And I open the "Sharing" tab in the details view
|
||||||
|
And I see that the "Sharing" tab in the details view is eventually loaded
|
||||||
|
And I see that the file is shared with me by "admin"
|
||||||
|
|
||||||
Scenario: share a file with another user who already has a file with that name
|
Scenario: share a file with another user who already has a file with that name
|
||||||
Given I act as John
|
Given I act as John
|
||||||
And I am logged in as the admin
|
And I am logged in as the admin
|
||||||
|
|
|
@ -27,6 +27,25 @@ class SettingsContext implements Context, ActorAwareInterface {
|
||||||
|
|
||||||
use ActorAware;
|
use ActorAware;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return Locator
|
||||||
|
*/
|
||||||
|
public static function acceptSharesByDefaultCheckbox() {
|
||||||
|
// forThe()->checkbox("Accept user...") can not be used here; that would
|
||||||
|
// return the checkbox itself, but the element that the user interacts
|
||||||
|
// with is the label.
|
||||||
|
return Locator::forThe()->xpath("//label[normalize-space() = 'Accept user and group shares by default']")->
|
||||||
|
describedAs("Accept shares by default checkbox in Sharing section in Personal Sharing Settings");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return Locator
|
||||||
|
*/
|
||||||
|
public static function acceptSharesByDefaultCheckboxInput() {
|
||||||
|
return Locator::forThe()->checkbox("Accept user and group shares by default")->
|
||||||
|
describedAs("Accept shares by default checkbox input in Sharing section in Personal Sharing Settings");
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return Locator
|
* @return Locator
|
||||||
*/
|
*/
|
||||||
|
@ -84,6 +103,15 @@ class SettingsContext implements Context, ActorAwareInterface {
|
||||||
describedAs("Reset button in system tags section in Administration Settings");
|
describedAs("Reset button in system tags section in Administration Settings");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @When I disable accepting the shares by default
|
||||||
|
*/
|
||||||
|
public function iDisableAcceptingTheSharesByDefault() {
|
||||||
|
$this->iSeeThatSharesAreAcceptedByDefault();
|
||||||
|
|
||||||
|
$this->actor->find(self::acceptSharesByDefaultCheckbox(), 2)->click();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @When I create the tag :tag in the settings
|
* @When I create the tag :tag in the settings
|
||||||
*/
|
*/
|
||||||
|
@ -93,6 +121,22 @@ class SettingsContext implements Context, ActorAwareInterface {
|
||||||
$this->actor->find(self::systemTagsCreateOrUpdateButton())->click();
|
$this->actor->find(self::systemTagsCreateOrUpdateButton())->click();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Then I see that shares are accepted by default
|
||||||
|
*/
|
||||||
|
public function iSeeThatSharesAreAcceptedByDefault() {
|
||||||
|
PHPUnit_Framework_Assert::assertTrue(
|
||||||
|
$this->actor->find(self::acceptSharesByDefaultCheckboxInput(), 10)->isChecked());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Then I see that shares are not accepted by default
|
||||||
|
*/
|
||||||
|
public function iSeeThatSharesAreNotAcceptedByDefault() {
|
||||||
|
PHPUnit_Framework_Assert::assertFalse(
|
||||||
|
$this->actor->find(self::acceptSharesByDefaultCheckboxInput(), 10)->isChecked());
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Then I see that the button to select tags is shown
|
* @Then I see that the button to select tags is shown
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue