Commit graph

157 commits

Author SHA1 Message Date
Daniel Calviño Sánchez
4566670fa3 Add acceptance tests for opening search results for comments
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-12-21 20:14:38 +01:00
Daniel Calviño Sánchez
1a887aaad0 Add acceptance tests for searching comments
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-12-21 20:14:16 +01:00
Daniel Calviño Sánchez
6cee8ba827 Add acceptance tests for comments on shared files and folders
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-12-06 18:31:42 +01:00
Morris Jobke
217002701e
Merge pull request #12649 from nextcloud/make-acceptance-tests-for-comments-more-robust
Make acceptance tests for comments more robust
2018-11-26 11:23:01 +01:00
Daniel Calviño Sánchez
65263817d0 Wait for the comment to be added before changing to another file
If the server is too slow, changing to a different file immediately
after sending a new comment but without waiting for the comment to be
shown for the original file could cause the new comment to be shown for
the current file instead.

This is, indeed, a bug in the comments. However, it is not possible to
test it reliably in the acceptance tests, as it depends on how fast the
server adds the message and how fast the client changes to a different
file; sometimes the test would fail and sometimes it would not.

Therefore, now it is waited for the comment to be added before changing
to another file, as in this case it can be reliably tested that changing
to a different file does not cause the comments from the previous file
to be shown in the current file (this was a different bug already fixed
and due to which this test was added in the first place).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-11-24 18:16:09 +01:00
Daniel Calviño Sánchez
d5725cb3d9 Wait for the empty content element to be shown
When the "Comments" tab is open the empty content element is always in
the DOM, although it is only shown once the message collection was
fetched and there were no messages. Due to this it is necessary to
explicitly wait for it to be shown instead of relying on the implicit
wait made to find the element; otherwise it would be found immediately
and if the collection was not fetched yet it would not be visible,
causing the test to fail.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-11-24 18:06:20 +01:00
Daniel Calviño Sánchez
4d4032bca3 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 <danxuliu@gmail.com>
2018-11-23 15:13:16 +01:00
Daniel Calviño Sánchez
87d4fb777a Extract locators and steps for sharing in Files app to their own context
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-11-23 15:13:16 +01:00
Daniel Calviño Sánchez
d6c053f6a3 Extract sharing related acceptance tests to their own feature files
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-11-23 15:13:15 +01:00
Daniel Calviño Sánchez
75b734ec98 Add acceptance tests for folders that can not be reshared
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-11-23 15:13:15 +01:00
Daniel Calviño Sánchez
d9ad31bd7f Add acceptance tests for resharing a folder with another user
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-11-23 15:13:15 +01:00
Daniel Calviño Sánchez
563454b741 Add acceptance test for checking that the owner can see reshares
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-11-23 15:13:15 +01:00
Daniel Calviño Sánchez
7aaf5e6a4c Add acceptance test for resharing a file with another user
To reshare a file there must be at least three enabled users in the
system; although it would be possible to run the steps to create a third
user in the scenarios that need it for convenience a third enabled user
besides "admin" and "user0" was added to the default setup.

In a similar way, a new step was added too to login as a given user
name, similar to the steps to log in as "user0" and as "admin".

Finally, another actor, "Jim", was introduced for those scenarios which
should be played by three standard actors (that is, without a special
configuration like "Rubeus").

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-11-23 15:13:15 +01:00
Daniel Calviño Sánchez
f2f073a304 Add acceptance tests for sharing a folder with another user
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-11-23 15:13:15 +01:00
Daniel Calviño Sánchez
aa695dca0d Add acceptance tests for sharing a file with another user
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-11-23 15:13:08 +01:00
Daniel Calviño Sánchez
1d1708688f Add acceptance tests for showing again the input field for tags
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-11-22 05:26:45 +01:00
Daniel Calviño Sánchez
57ffa9ea73 Add acceptance tests for opening and closing again the details view
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-11-22 05:26:01 +01:00
Daniel Calviño Sánchez
94645ed754 Add acceptance tests for marking a file as favorite in the details view
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-11-22 05:25:12 +01:00
Daniel Calviño Sánchez
139e2218d1 Add acceptance tests for switching to the comments of another file
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-11-22 05:20:26 +01:00
John Molakvoæ (skjnldsv)
2b7832d0c9
Fix breakpoint and shrinking of the content + list
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-11-14 17:19:35 +01:00
Daniel Calviño Sánchez
b5977bef2e Adjust acceptance tests to changes in public share page menu
The "Download" item in the menu of public share pages is no longer shown
in wide (>768px) windows (although the element is in the DOM and shown
if resized to a narrow window).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-11-08 13:19:15 +01:00
Roeland Jago Douma
927130ef34
Merge pull request #12215 from nextcloud/wait-for-the-link-share-menu-to-open-in-acceptance-tests
Wait for the link share menu to open in acceptance tests
2018-11-02 19:35:32 +01:00
Daniel Calviño Sánchez
fec8d12fc5 Wait for the link share menu to open in acceptance tests
In the acceptance tests the link share menu is automatically opened if
needed before interacting with an item in the menu; if the menu is not
open it is opened by clicking on its toggle.

However, since a recent change the link share menu is automatically
opened by the regular UI after the link share is created. This causes
that, sometimes, after the creation of a link share the acceptance tests
check whether the menu is shown or not before the menu was automatically
opened; as the menu is not open then the acceptance tests proceed to
click on the toggle, but in the meantime the link share was created and
the menu opened, so clicking on the toggle now closes it. As the menu is
closed it is not possible to interact with its items and the test fails.

To prevent that now the acceptance tests wait for the link share menu to
open after a link share is created before continuing with the other
steps.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-11-02 14:24:52 +01:00
Daniel Calviño Sánchez
f57b07e2c2 Add acceptance test steps to be used from Talk acceptance tests
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-11-02 13:30:22 +01:00
Daniel Calviño Sánchez
a784e1fcc1 Test that "Password protect by Talk" is not shown if Talk is not enabled
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-11-02 13:30:22 +01:00
Daniel Calviño Sánchez
b23289da1a Adjust acceptance tests to changes in link shares
Although now it is possible to create several link shares the acceptance
tests currently handles only the first link share; this first link share
is now created by clicking an "Add new share" button instead of a
checkbox.

Besides that, the "Copy link" button has been moved from the menu to the
row, next to the menu trigger.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-11-01 21:33:10 +01:00
Daniel Calviño Sánchez
d4f39a9033 Add acceptance tests for hiding download in link shares
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-10-30 15:18:55 +01:00
Daniel Calviño Sánchez
565556b277 Move acceptance tests that crash the PHP built-in server to Apache
The PHP built-in server can crash when certain actions are performed in
Nextcloud (but although the crash is triggered by Nextcloud it does not
seem to be a Nextcloud bug), which can lead to failures in the
acceptance tests that would have otherwise passed.

A crash of the PHP built-in server during an acceptance test can be
identified by the message "sh: 1: kill: No such process" in the
acceptance tests output; as the PHP built-in server crashed its process
does no longer exist when it is tried to be killed when the scenario
ends.

Although the crash has been observed in other tests too it is more
prevalent in the tests for tags and the theming app. In order to
reduce the false positives those tests are now run on Apache instead of
on the PHP built-in sever. However, the rest of tests are still run on
the PHP built-in server due to its lower resource consumption.

In order to run a feature or just a scenario using Apache it has to be
tagged with "@apache"; features or scenarios without that tag (the
default) will run on the PHP built-in server instead.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-10-29 12:38:42 +01:00
Daniel Calviño Sánchez
34f397fd22 Link the default Apache directory to the Nextcloud server in all runners
In order to run the acceptance tests in Apache "/var/www/html" has to be
linked to the root directory of the Nextcloud server. Before this was
automatically done when launching the acceptance tests through
"./run.sh", but an explicit command was needed when run in Drone. Now
the linking was moved from "run.sh" to "run-local.sh", so it is
automatically done when run through "./run.sh" and in Drone, including
when running the tests for an app instead of for the server.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-10-29 12:38:42 +01:00
Daniel Calviño Sánchez
95dc2ad13c Extract acceptance tests for tags to their own feature file
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-10-29 08:40:05 +01:00
Daniel Calviño Sánchez
f844799d9b Move the browser window of an actor to the foreground when acting as him
Each time a new actor appears in a scenario the browser window of the
new actor is put in front of the browser windows of the previous actors.
Before, when acting again as a previous actor his browser window stayed
in the background; in most cases everything worked fine even if the
window was in the background, but due to a bug in the Firefox driver of
Selenium and/or maybe in Firefox itself when the window was in the
background it was not possible to set the value of an input field that
had a range selected.

Now, when acting again as a previous actor his browser window is brought
to the foreground. This prevents the bug from manifesting, but also
reflects better how a user would interact with the browser in real life.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-10-26 11:07:13 +02:00
Daniel Calviño Sánchez
779000eb13 Add acceptance tests for opening a section in the Files app
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-10-21 20:21:59 +02:00
Jan-Christoph Borchardt
9b8e884b19
Change wording of 'Copy URL' to more understandable 'Copy link'
Signed-off-by: Jan-Christoph Borchardt <hey@jancborchardt.net>
2018-10-01 11:02:12 +02:00
John Molakvoæ (skjnldsv)
f5f31e221c
Fix class selector for acceptance tests
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-09-28 08:20:10 +02:00
Roeland Jago Douma
1fecea6c08
Also test enabling of the Antivirus App for files
Since there is no calendar release for 15 yet we should use an app that
we can quickly release for 15 as well.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-09-26 22:05:42 +02:00
Daniel Calviño Sánchez
bc84aa0269 Include empty directories in the default state of acceptance tests
Before each scenario of the acceptance tests is run the Nextcloud server
is reset to a default state. To do this the full directory of the
Nextcloud server is commited to a local Git repository and then reset to
that commit when needed.

Unfortunately, Git does not support including empty directories in a
commit. Due to this, when the default state was restored, it could
happen that the file cache listed an empty directory that did not exist
because it was not properly restored (for example,
"data/appdata_*/css/icons"), and that in turn could lead to an error
when the directory was used.

Currently the only way to force Git to include an empty directory is to
add a dummy file to the directory (so it will no longer be empty,
but that should not be a problem in the affected directories, even if
the dummy file is not included in the file cache); although Git FAQ
suggests using a ".gitignore" file a ".keep" file was used instead, as
it conveys better its purpose.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-09-18 10:23:35 +02:00
Michael Weimann
55cf7c35e1
Adds an acceptance test for the users settings navigation without disabled users
Signed-off-by: Michael Weimann <mail@michael-weimann.eu>
2018-08-14 22:28:11 +02:00
Julius Härtl
1b4d502bfd
Adjust acceptance test to check if the correct sidebar view is shown
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-08-03 14:06:04 +02:00
Daniel Calviño Sánchez
029b33a664 Add acceptance test for creating a user with a custom display name
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-07-31 13:40:47 +02:00
Roeland Jago Douma
71028fde6b
Merge pull request #10322 from weeman1337/feature-9978-improve-disabled-user-login-message
Login: Implements the "user disabled" message like the "wrong password" message
2018-07-24 20:00:20 +02:00
Michael Weimann
801bf81317 Adds disabled user acceptance tests
Signed-off-by: Michael Weimann <mail@michael-weimann.eu>
2018-07-24 17:31:03 +02:00
John Molakvoæ (skjnldsv)
0274507cb1
Acceptance and mobile navigation fixes
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-07-24 11:01:11 +02:00
Daniel Calviño Sánchez
70262fb11a Adjust acceptance tests to the new share link UI
The share link UI no longer uses its own layout below the other shares;
now it is shown as a share row with a menu for the actions (except
enabling it, which is shown in the row itself), just like the other
shares.

The share link is no longer shown, either; now the link is got by
clicking on a "Copy URL" menu item, which copies the link to the
clipboard. As the clipboard is not accessible from the acceptance tests
the URL is now extracted from the attributes of that menu item (although
the menu item is clicked anyway to mimic the user behaviour).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-07-21 17:31:11 +02:00
John Molakvoæ (skjnldsv)
562e2aa30b
Adjust acceptance tests to sidebar changes in Files app
Before, each section of the Files app ("All files", "Favorites"...) had
its own sidebar element. Now there is a single sidebar element for all
the sections in the Files app.

Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-07-20 23:38:03 +02:00
Julius Härtl
4d5c01e066
Fix accceptance tests
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-07-20 16:49:05 +02:00
Michael Weimann
37e0f85ad0 Adds tests for testing removing an empty group
Signed-off-by: Michael Weimann <mail@michael-weimann.eu>
2018-07-20 09:51:23 +02:00
Daniel Calviño Sánchez
ea6b5063b5 Fix variable not replaced in "behat.yml" when default value was used
As "selenium.server" is a simulated variable it is not recognized by
Mink, so it must be always replaced by its value in "behat.yml" before
the file is parsed by Behat.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-06-28 17:32:38 +02:00
Daniel Calviño Sánchez
e9012021fe Fix documentation
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-06-22 19:47:46 +02:00
Daniel Calviño Sánchez
d70b6bc94b Set "wd_host" directly in "behat.yml" instead of through "BEHAT_PARAMS"
The "wd_host" parameter of Selenium2 sessions specify the URL used by
the Selenium driver to connect with the Selenium server. Thus, when the
Selenium server is at a different host or port than the default one (for
example, when run on Drone) the "wd_host" parameter must be set for each
of the Selenium2 sessions defined in "behat.yml".

The "BEHAT_PARAMS" environment variable, which extends the "behat.yml"
configuration file, was used for that. However, this required adding to
the "BEHAT_PARAMS" in "run-local.sh" each new session added to
"behat.yml", including those added in the acceptance tests of apps.

To address that limitation, this commit introduces a simulated variable,
"selenium.server"; just before the acceptance tests are run the
"selenium.server" variable in the "wd_host" parameter is replaced in the
"behat.yml" file used by the acceptance tests. Note that the file that
is modified is the one inside the Docker container used to run the
acceptance tests, so the original file is not touched.

Note that a simulated variable is needed because Behat does not support
overridding nor setting configuration parameters with environment
variables.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-06-22 19:46:44 +02:00
Roeland Jago Douma
8ebc3d90a0
Merge pull request #9518 from nextcloud/feature/5986/public_share_controller_middleware
Public share middleware & controller
2018-06-21 10:09:20 +02:00