MDL-67518 phpunit: avoid DB sorting randomness in test
[moodle.git] / repository / tests / behat / select_file.feature
1 @core @core_filepicker @_file_upload
2 Feature: Select file feature
3   In order to add a file to a filearea
4   As a user
5   I need to be able to select the file using the file picker
7   Background:
8     Given the following "courses" exist:
9       | fullname | shortname | category |
10       | Course 1 | C1 | 0 |
12   @javascript
13   Scenario: Select a file from the "Recent files" repository using "icons" view
14     Given I log in as "admin"
15     And I am on "Course 1" course homepage with editing mode on
16     And I add a "Folder" to section "1"
17     And I set the following fields to these values:
18       | Name        | Test folder             |
19       | Description | Test folder description |
20     And I upload "lib/tests/fixtures/empty.txt" file to "Files" filemanager
21     And I click on "Save and display" "button"
22     And I follow "Dashboard" in the user menu
23     And I follow "Manage private files"
24     And I click on "//label[contains(., 'Files')]/ancestor::div[contains(concat(' ', @class, ' '), ' fitem ')]//*[contains(@title, 'Add...')]" "xpath_element"
25     And I click on "Recent files" "link" in the ".fp-repo-area" "css_element"
26     And I click on "Display folder with file icons" "link" in the ".file-picker" "css_element"
27     And I click on "//a[contains(concat(' ', normalize-space(@class), ' '), ' fp-file ')][normalize-space(.)='empty.txt']" "xpath_element"
28     And I should see "Select empty.txt"
29     When I click on "Select this file" "button"
30     Then I should see "1" elements in "Files" filemanager
31     And I should see "empty.txt" in the ".fp-content .fp-file" "css_element"
33   @javascript
34   Scenario: Select a file from the "Recent files" repository using "list" view
35     Given I log in as "admin"
36     And I am on "Course 1" course homepage with editing mode on
37     And I add a "Folder" to section "1"
38     And I set the following fields to these values:
39       | Name        | Test folder             |
40       | Description | Test folder description |
41     And I upload "lib/tests/fixtures/empty.txt" file to "Files" filemanager
42     And I click on "Save and display" "button"
43     And I follow "Dashboard" in the user menu
44     And I follow "Manage private files"
45     And I click on "//label[contains(., 'Files')]/ancestor::div[contains(concat(' ', @class, ' '), ' fitem ')]//*[contains(@title, 'Add...')]" "xpath_element"
46     And I click on "Recent files" "link" in the ".fp-repo-area" "css_element"
47     And I click on "Display folder with file details" "link" in the ".file-picker" "css_element"
48     And I click on "//div[contains(concat(' ', normalize-space(@class), ' '), ' file-picker ')]/descendant::span[normalize-space(.)='empty.txt']/ancestor::a" "xpath_element"
49     And I should see "Select empty.txt"
50     When I click on "Select this file" "button"
51     Then I should see "1" elements in "Files" filemanager
52     And I should see "empty.txt" in the ".fp-content .fp-file" "css_element"
54   @javascript
55   Scenario: Select a file from the "Recent files" repository using "tree" view
56     Given I log in as "admin"
57     And I am on "Course 1" course homepage with editing mode on
58     And I add a "Folder" to section "1"
59     And I set the following fields to these values:
60       | Name        | Test folder             |
61       | Description | Test folder description |
62     And I upload "lib/tests/fixtures/empty.txt" file to "Files" filemanager
63     And I click on "Save and display" "button"
64     And I follow "Dashboard" in the user menu
65     And I follow "Manage private files"
66     And I click on "//label[contains(., 'Files')]/ancestor::div[contains(concat(' ', @class, ' '), ' fitem ')]//*[contains(@title, 'Add...')]" "xpath_element"
67     And I click on "Recent files" "link" in the ".fp-repo-area" "css_element"
68     And I click on "Display folder as file tree" "link" in the ".file-picker" "css_element"
69     And I click on "//div[contains(concat(' ', normalize-space(@class), ' '), ' file-picker ')]/descendant::span[normalize-space(.)='empty.txt']/ancestor::a" "xpath_element"
70     And I should see "Select empty.txt"
71     When I click on "Select this file" "button"
72     Then I should see "1" elements in "Files" filemanager
73     And I should see "empty.txt" in the ".fp-content .fp-file" "css_element"