diff --git a/admin/tool/behat/tests/behat/manipulate_forms.feature b/admin/tool/behat/tests/behat/manipulate_forms.feature index a26fd203efd..5f5efdf6f01 100644 --- a/admin/tool/behat/tests/behat/manipulate_forms.feature +++ b/admin/tool/behat/tests/behat/manipulate_forms.feature @@ -7,8 +7,7 @@ Feature: Forms manipulation @javascript Scenario: Basic forms manipulation Given I log in as "admin" - And I follow "Preferences" in the user menu - And I click on "Edit profile" "link" in the "region-main" "region" + And I open my profile in edit mode When I set the field "First name" to "Field value" And I set the field "Select a country" to "Japan" And I set the field "New password" to "TestPass" diff --git a/admin/tool/behat/tests/behat/nasty_strings.feature b/admin/tool/behat/tests/behat/nasty_strings.feature index 69812277a49..851ef00f007 100644 --- a/admin/tool/behat/tests/behat/nasty_strings.feature +++ b/admin/tool/behat/tests/behat/nasty_strings.feature @@ -10,8 +10,7 @@ Feature: Transform steps arguments | fullname | shortname | category | | Course 1 | C1 | 0 | And I log in as "admin" - And I follow "Preferences" in the user menu - And I click on "Edit profile" "link" in the "region-main" "region" + And I open my profile in edit mode Scenario: Use nasty strings on steps arguments When I set the field "Surname" to "$NASTYSTRING1" diff --git a/badges/tests/behat/award_badge.feature b/badges/tests/behat/award_badge.feature index 92cc5ad6b8e..cf0bb422f08 100644 --- a/badges/tests/behat/award_badge.feature +++ b/badges/tests/behat/award_badge.feature @@ -30,9 +30,7 @@ Feature: Award badges And I should not see "Criteria for this badge have not been set up yet." And I press "Enable access" And I press "Continue" - And I click on "Admin User" "link" - And I choose "Profile" in the open action menu - And I click on "Edit profile" "link" in the "region-main" "region" + And I open my profile in edit mode And I expand all fieldsets And I set the field "Phone" to "123456789" And I press "Update profile" diff --git a/course/tests/behat/navigate_course_list.feature b/course/tests/behat/navigate_course_list.feature index 41dc9b1aaf6..acd8219f247 100644 --- a/course/tests/behat/navigate_course_list.feature +++ b/course/tests/behat/navigate_course_list.feature @@ -42,8 +42,7 @@ Feature: Browse course list and return back from enrolment page And I press "Save changes" And I log out When I log in as "user2" - And I follow "Preferences" in the user menu - And I click on "Edit profile" "link" in the "region-main" "region" + And I open my profile in edit mode And I expand "Courses" node And I expand "Sample category" node And I follow "Course 1" diff --git a/lib/behat/behat_base.php b/lib/behat/behat_base.php index 04dcb434002..e59bb584a81 100644 --- a/lib/behat/behat_base.php +++ b/lib/behat/behat_base.php @@ -925,4 +925,23 @@ class behat_base extends Behat\MinkExtension\Context\RawMinkContext { // Look for exceptions. $this->look_for_exceptions(); } + + /** + * Get the actual user in the behat session (note $USER does not correspond to the behat session's user). + * @return mixed + * @throws coding_exception + */ + protected function get_session_user() { + global $DB; + + $sid = $this->getSession()->getCookie('MoodleSession'); + if (empty($sid)) { + throw new coding_exception('failed to get moodle session'); + } + $userid = $DB->get_field('sessions', 'userid', ['sid' => $sid]); + if (empty($userid)) { + throw new coding_exception('failed to get user from seession id '.$sid); + } + return $DB->get_record('user', ['id' => $userid]); + } } diff --git a/lib/editor/atto/plugins/accessibilitychecker/tests/behat/accessibilitychecker.feature b/lib/editor/atto/plugins/accessibilitychecker/tests/behat/accessibilitychecker.feature index 90c53d7dba9..ffb71fb7462 100644 --- a/lib/editor/atto/plugins/accessibilitychecker/tests/behat/accessibilitychecker.feature +++ b/lib/editor/atto/plugins/accessibilitychecker/tests/behat/accessibilitychecker.feature @@ -5,8 +5,7 @@ Feature: Atto accessibility checker @javascript Scenario: Images with no alt Given I log in as "admin" - And I follow "Profile" in the user menu - And I click on "Edit profile" "link" in the "region-main" "region" + And I open my profile in edit mode And I set the field "Description" to "
Some plain text
Some more text
" When I click on "Show more buttons" "button" And I click on "Accessibility checker" "button" @@ -31,8 +30,7 @@ Feature: Atto accessibility checker @javascript Scenario: Low contrast Given I log in as "admin" - And I follow "Profile" in the user menu - And I click on "Edit profile" "link" in the "region-main" "region" + And I open my profile in edit mode And I set the field "Description" to "Hard to read
" When I click on "Show more buttons" "button" And I click on "Accessibility checker" "button" @@ -41,8 +39,7 @@ Feature: Atto accessibility checker @javascript Scenario: No headings Given I log in as "admin" - And I follow "Profile" in the user menu - And I click on "Edit profile" "link" in the "region-main" "region" + And I open my profile in edit mode And I set the field "Description" to "Sweet roll oat cake jelly-o macaroon donut oat cake. Caramels macaroon cookie sweet roll croissant cheesecake candy jelly-o. Gummies sugar plum sugar plum gingerbread dessert. Tiramisu bonbon jujubes danish marshmallow cookie chocolate cake cupcake tiramisu. Bear claw oat cake chocolate bar croissant. Lollipop cookie topping liquorice croissant. Brownie cookie cupcake lollipop cupcake cupcake. Fruitcake dessert sweet biscuit dragée caramels marzipan brownie. Chupa chups gingerbread apple pie cookie liquorice caramels carrot cake cookie gingerbread. Croissant candy jelly beans. Tiramisu apple pie dessert apple pie macaroon soufflé. Brownie powder carrot cake chocolate. Tart applicake croissant dragée macaroon chocolate donut.
Jelly beans gingerbread tootsie roll. Sugar plum tiramisu cotton candy toffee pie cotton candy tiramisu. Carrot cake chocolate bar sesame snaps cupcake cake dessert sweet fruitcake wafer. Marshmallow cupcake gingerbread pie sweet candy canes powder gummi bears. Jujubes cake muffin marshmallow candy jelly beans tootsie roll pie. Gummi bears applicake chocolate cake sweet jelly sesame snaps lollipop lollipop carrot cake. Marshmallow cake jelly beans. Jelly beans sesame snaps muffin halvah cookie ice cream candy canes carrot cake. Halvah donut marshmallow tiramisu. Cookie dessert gummi bears. Sugar plum apple pie jelly beans gummi bears tart chupa chups. Liquorice macaroon gummi bears gummies macaroon marshmallow sweet roll cake topping. Lemon drops caramels pie icing danish. Chocolate cake oat cake dessert halvah danish carrot cake apple pie.
" When I click on "Show more buttons" "button" And I click on "Accessibility checker" "button" @@ -51,8 +48,7 @@ Feature: Atto accessibility checker @javascript Scenario: Merged cells Given I log in as "admin" - And I follow "Profile" in the user menu - And I click on "Edit profile" "link" in the "region-main" "region" + And I open my profile in edit mode And I set the field "Description" to "| Breed | Coolness |
|---|---|
| Poodle | NOT COOL |
| Doberman |
| Breed | Coolness |
|---|---|
| Poodle | NOT COOL |
| Doberman | COOL |
| Breed | Coolness |
|---|---|
| Poodle | NOT COOL |
| Doberman | COOL |
Some plain text
Some plain text
" When I click on "Show more buttons" "button" And I select the text in the "Description" Atto editor diff --git a/lib/editor/atto/plugins/align/tests/behat/align.feature b/lib/editor/atto/plugins/align/tests/behat/align.feature index 130389088a8..9985ab9cbf9 100644 --- a/lib/editor/atto/plugins/align/tests/behat/align.feature +++ b/lib/editor/atto/plugins/align/tests/behat/align.feature @@ -5,8 +5,7 @@ Feature: Atto align text @javascript Scenario: Right align some text Given I log in as "admin" - And I follow "Profile" in the user menu - And I click on "Edit profile" "link" in the "region-main" "region" + And I open my profile in edit mode And I set the field "Description" to "Fascism
" And I click on "Show more buttons" "button" And I select the text in the "Description" Atto editor @@ -22,8 +21,7 @@ Feature: Atto align text @javascript Scenario: Left align some text Given I log in as "admin" - And I follow "Profile" in the user menu - And I click on "Edit profile" "link" in the "region-main" "region" + And I open my profile in edit mode And I set the field "Description" to "Communism
" And I click on "Show more buttons" "button" And I select the text in the "Description" Atto editor @@ -40,8 +38,7 @@ Feature: Atto align text @javascript Scenario: Center align some text Given I log in as "admin" - And I follow "Profile" in the user menu - And I click on "Edit profile" "link" in the "region-main" "region" + And I open my profile in edit mode And I set the field "Description" to "United Future
" And I click on "Show more buttons" "button" And I select the text in the "Description" Atto editor diff --git a/lib/editor/atto/plugins/bold/tests/behat/bold.feature b/lib/editor/atto/plugins/bold/tests/behat/bold.feature index 7baf1addcc7..98b369b01dd 100644 --- a/lib/editor/atto/plugins/bold/tests/behat/bold.feature +++ b/lib/editor/atto/plugins/bold/tests/behat/bold.feature @@ -5,8 +5,7 @@ Feature: Atto bold button @javascript Scenario: Bold some text Given I log in as "admin" - And I follow "Profile" in the user menu - And I click on "Edit profile" "link" in the "region-main" "region" + And I open my profile in edit mode And I set the field "Description" to "Badger" And I select the text in the "Description" Atto editor When I click on "Bold" "button" @@ -21,8 +20,7 @@ Feature: Atto bold button @javascript Scenario: Unbold some text Given I log in as "admin" - And I follow "Profile" in the user menu - And I click on "Edit profile" "link" in the "region-main" "region" + And I open my profile in edit mode And I set the field "Description" to "Mouse" And I select the text in the "Description" Atto editor When I click on "Bold" "button" diff --git a/lib/editor/atto/plugins/charmap/tests/behat/charmap.feature b/lib/editor/atto/plugins/charmap/tests/behat/charmap.feature index 9da6cc936d9..2ef4895fee1 100644 --- a/lib/editor/atto/plugins/charmap/tests/behat/charmap.feature +++ b/lib/editor/atto/plugins/charmap/tests/behat/charmap.feature @@ -5,8 +5,7 @@ Feature: Atto charmap button @javascript Scenario: Insert symbols Given I log in as "admin" - And I follow "Profile" in the user menu - And I click on "Edit profile" "link" in the "region-main" "region" + And I open my profile in edit mode And I set the field "Description" to "1980 Mullet
" And I select the text in the "Description" Atto editor When I click on "Show more buttons" "button" diff --git a/lib/editor/atto/plugins/clear/tests/behat/clear.feature b/lib/editor/atto/plugins/clear/tests/behat/clear.feature index c458ee6f2d3..98be7efe436 100644 --- a/lib/editor/atto/plugins/clear/tests/behat/clear.feature +++ b/lib/editor/atto/plugins/clear/tests/behat/clear.feature @@ -5,8 +5,7 @@ Feature: Atto clear button @javascript Scenario: Clear formatting Given I log in as "admin" - And I follow "Profile" in the user menu - And I click on "Edit profile" "link" in the "region-main" "region" + And I open my profile in edit mode And I set the field "Description" to "Pisa" And I select the text in the "Description" Atto editor And I click on "Italic" "button" diff --git a/lib/editor/atto/plugins/collapse/tests/behat/collapse.feature b/lib/editor/atto/plugins/collapse/tests/behat/collapse.feature index 88f1aab15b6..dfe8a9231e1 100644 --- a/lib/editor/atto/plugins/collapse/tests/behat/collapse.feature +++ b/lib/editor/atto/plugins/collapse/tests/behat/collapse.feature @@ -5,8 +5,7 @@ Feature: Atto collapse button @javascript Scenario: Toggle toolbar Given I log in as "admin" - And I follow "Profile" in the user menu - And I click on "Edit profile" "link" in the "region-main" "region" + And I open my profile in edit mode When I click on "Show more buttons" "button" Then "Equation editor" "button" should be visible And I click on "Show fewer buttons" "button" diff --git a/lib/editor/atto/plugins/equation/tests/behat/equation.feature b/lib/editor/atto/plugins/equation/tests/behat/equation.feature index 9e219a28126..eaf0d09ecbf 100644 --- a/lib/editor/atto/plugins/equation/tests/behat/equation.feature +++ b/lib/editor/atto/plugins/equation/tests/behat/equation.feature @@ -5,8 +5,7 @@ Feature: Atto equation editor @javascript Scenario: Create an equation Given I log in as "admin" - When I follow "Profile" in the user menu - And I click on "Edit profile" "link" in the "region-main" "region" + When I open my profile in edit mode And I set the field "Description" to "Equation test
" # Set field on the bottom of page, so equation editor dialogue is visible. And I expand all fieldsets @@ -24,8 +23,7 @@ Feature: Atto equation editor @javascript Scenario: Edit an equation Given I log in as "admin" - When I follow "Profile" in the user menu - And I click on "Edit profile" "link" in the "region-main" "region" + When I open my profile in edit mode And I set the field "Description" to "\( \pi \)
" # Set field on the bottom of page, so equation editor dialogue is visible. And I expand all fieldsets diff --git a/lib/editor/atto/plugins/html/tests/behat/html.feature b/lib/editor/atto/plugins/html/tests/behat/html.feature index 1357cfcb0df..5cfcc1bbf16 100644 --- a/lib/editor/atto/plugins/html/tests/behat/html.feature +++ b/lib/editor/atto/plugins/html/tests/behat/html.feature @@ -5,8 +5,7 @@ Feature: Atto edit HTML @javascript Scenario: Edit the html source Given I log in as "admin" - When I follow "Profile" in the user menu - And I click on "Edit profile" "link" in the "region-main" "region" + When I open my profile in edit mode And I set the field "Description" to "Smurf
" And I click on "Show more buttons" "button" And I click on "HTML" "button" diff --git a/lib/editor/atto/plugins/image/tests/behat/image.feature b/lib/editor/atto/plugins/image/tests/behat/image.feature index c493d0043b8..e66929e736d 100644 --- a/lib/editor/atto/plugins/image/tests/behat/image.feature +++ b/lib/editor/atto/plugins/image/tests/behat/image.feature @@ -8,8 +8,7 @@ Feature: Add images to Atto And I follow "Manage private files..." And I upload "lib/editor/atto/tests/fixtures/moodle-logo.png" file to "Files" filemanager And I click on "Save changes" "button" - And I follow "Profile" in the user menu - And I click on "Edit profile" "link" in the "region-main" "region" + And I open my profile in edit mode When I set the field "Description" to "Image test
" And I select the text in the "Description" Atto editor And I click on "Image" "button" @@ -52,8 +51,7 @@ Feature: Add images to Atto @javascript Scenario: Manually inserting an image Given I log in as "admin" - And I follow "Profile" in the user menu - And I click on "Edit profile" "link" in the "region-main" "region" + And I open my profile in edit mode And I set the field "Description" to "Image: .
I need some space.
" And I select the text in the "Description" Atto editor And I click on "Show more buttons" "button" diff --git a/lib/editor/atto/plugins/italic/tests/behat/italic.feature b/lib/editor/atto/plugins/italic/tests/behat/italic.feature index 01770e6174a..6449ef51f15 100644 --- a/lib/editor/atto/plugins/italic/tests/behat/italic.feature +++ b/lib/editor/atto/plugins/italic/tests/behat/italic.feature @@ -5,8 +5,7 @@ Feature: Atto italic button @javascript Scenario: Italicise some text Given I log in as "admin" - And I follow "Profile" in the user menu - And I click on "Edit profile" "link" in the "region-main" "region" + And I open my profile in edit mode And I set the field "Description" to "Tower of Pisa" And I select the text in the "Description" Atto editor When I click on "Italic" "button" @@ -21,8 +20,7 @@ Feature: Atto italic button @javascript Scenario: Toggle italics in some text Given I log in as "admin" - And I follow "Profile" in the user menu - And I click on "Edit profile" "link" in the "region-main" "region" + And I open my profile in edit mode And I set the field "Description" to "GHD - for hair" And I select the text in the "Description" Atto editor When I click on "Italic" "button" diff --git a/lib/editor/atto/plugins/link/tests/behat/link.feature b/lib/editor/atto/plugins/link/tests/behat/link.feature index 4d02eb6d73a..7f71f6d0f48 100644 --- a/lib/editor/atto/plugins/link/tests/behat/link.feature +++ b/lib/editor/atto/plugins/link/tests/behat/link.feature @@ -8,8 +8,7 @@ Feature: Add links to Atto And I follow "Manage private files..." And I upload "lib/editor/atto/tests/fixtures/moodle-logo.png" file to "Files" filemanager And I click on "Save changes" "button" - When I follow "Profile" in the user menu - And I click on "Edit profile" "link" in the "region-main" "region" + When I open my profile in edit mode And I set the field "Description" to "Super cool" And I select the text in the "Description" Atto editor And I click on "Link" "button" diff --git a/lib/editor/atto/plugins/orderedlist/tests/behat/orderedlist.feature b/lib/editor/atto/plugins/orderedlist/tests/behat/orderedlist.feature index 0eddcfacdc6..9660494e094 100644 --- a/lib/editor/atto/plugins/orderedlist/tests/behat/orderedlist.feature +++ b/lib/editor/atto/plugins/orderedlist/tests/behat/orderedlist.feature @@ -5,8 +5,7 @@ Feature: Atto ordered list button @javascript Scenario: Make a list from some text Given I log in as "admin" - And I follow "Profile" in the user menu - And I click on "Edit profile" "link" in the "region-main" "region" + And I open my profile in edit mode And I set the field "Description" to "Have you heard the news everyone's talking