moodle/user/tests/behat/set_default_homepage.feature
2022-02-18 16:22:41 +00:00

61 lines
2.5 KiB
Gherkin

@core @core_user
Feature: Set the site home page and dashboard as the default start page
In order to set a page as my default start page
As a user
I need to choose which page I want and set it as my start page
Background:
Given the following "courses" exist:
| fullname | shortname | category | groupmode |
| Course 1 | C1 | 0 | 1 |
And the following "users" exist:
| username | firstname | lastname | email |
| user1 | User | One | user1@example.com |
Scenario: Admin sets the site page and then the dashboard as the default start page
# This functionality does not work without the administration block.
Given I log in as "admin"
And I am on site homepage
And I turn editing mode on
And I add the "Administration" block if not present
And I configure the "Administration" block
And I set the following fields to these values:
| Page contexts | Display throughout the entire site |
And I press "Save changes"
And I navigate to "Appearance > Navigation" in site administration
And I set the field "Start page for users" to "User preference"
And I press "Save changes"
And I am on site homepage
And I follow "Make this my home page"
And I should not see "Make this my home page"
And I am on "Course 1" course homepage
And "Home" "text" should exist in the ".breadcrumb" "css_element"
And I am on site homepage
And I follow "Dashboard"
And I follow "Make this my home page"
And I should not see "Make this my home page"
And I am on "Course 1" course homepage
Then "Dashboard" "text" should exist in the ".breadcrumb" "css_element"
Scenario: User cannot configure their preferred default start page unless allowed by admin
Given I log in as "user1"
When I follow "Preferences" in the user menu
Then I should not see "Start page"
Scenario Outline: User can configure their preferred default start page when allowed by admin
Given I log in as "admin"
And I navigate to "Appearance > Navigation" in site administration
And I set the field "Start page for users" to "User preference"
And I press "Save changes"
And I log out
When I log in as "user1"
And I follow "Preferences" in the user menu
And I follow "Start page"
And I set the field "Start page" to "<preference>"
And I press "Save changes"
Then "<breadcrumb>" "text" should exist in the ".breadcrumb" "css_element"
Examples:
| preference | breadcrumb |
| Site | Home |
| Dashboard | Dashboard |