Proyectos de Subversion Moodle

Rev

Autoría | Ultima modificación | Ver Log |

@javascript @theme_boost
Feature: Primary navigation
  To navigate in boost theme
  As a user
  I need to use the primary navigation

  Background:
    Given the following "users" exist:
      | username | firstname | lastname | email             |
      | user1    | User      | One      | user1@example.com |

  @javascript @theme_boost
  Scenario Outline: Admin sets defaulthomepage and verify the landing page and site home link
    Given I log in as "admin"
    And the following config values are set as admin:
      | defaulthomepage | <defaulthomepageset> |
    And I am on homepage
    And I should see "<homepage>" in the "a.nav-link.active:not([tabindex])" "css_element"
    And I should see "<sitehome>" in the "<linkelement>" "css_element"

    Examples:
      | defaulthomepageset | homepage    |  sitehome  |  linkelement                                                  |
      |   0                | Home        |   Home     |  a.nav-link.active:not([tabindex]):not([href*='redirect=0'])  |
      |   1                | Dashboard   |   Home     |  a.nav-link[tabindex='-1'][href$='redirect=0']                |
      |   3                | My courses  |   Home     |  a.nav-link[tabindex='-1'][href$='redirect=0']                |

  @javascript @theme_boost
  Scenario Outline: Admin sets defaulthomepage to user preference and verifies the landing page based on it
    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 follow "Preferences" in the user menu
    And I follow "Start page"
    And I set the field "Start page" to "<userpreference>"
    And I press "Save changes"
    And the following config values are set as admin:
      | defaulthomepage | 2 |
    And I log out
    And I log in as "admin"
    And I should see "<homepage>" in the "a.nav-link.active:not([tabindex])" "css_element"

    Examples:
      | userpreference | homepage    |
      |   Home         | Home        |
      |   Dashboard    | Dashboard   |
      |   My courses   | My courses  |

  @javascript @theme_boost
  Scenario: Users could use primary nav menu on mobile size screens
    Given I change window size to "mobile"
    And I am on the "My courses" page logged in as "user1"
    Then "Home" "link" should not be visible
    And "Side panel" "button" should exist
    And I click on "Side panel" "button"
    And I should see "Home" in the "theme_boost-drawers-primary" "region"

  @theme_boost
  Scenario: Guest users can only see the Home item in the primary navigation menu
    Given I log in as "guest"
    When I am on site homepage
    Then I should see "Home" in the ".primary-navigation" "css_element"
    And I should not see "Dashboard" in the ".primary-navigation" "css_element"
    And I should not see "My courses" in the ".primary-navigation" "css_element"
    And I should not see "Site administration" in the ".primary-navigation" "css_element"

  Scenario: Dashboard is not displayed in the primary navigation when it is disabled
    Given the following config values are set as admin:
      | enabledashboard | 0 |
    When I am on the "My courses" page logged in as "user1"
    Then I should not see "Dashboard"
    And the following config values are set as admin:
      | enabledashboard | 1 |
# We need to reload the page to skip the "Welcome, xxxx!" and display the real page title.
    And I reload the page
    And I should see "Dashboard"

  Scenario: Start page when default home is dashboard but dashboard is disabled
    Given the following config values are set as admin:
      | enabledashboard | 0 |
# 1 = Dashboard.
      | defaulthomepage | 1 |
    When I log in as "admin"
# We need to reload the page to skip the "Welcome, xxxx!" and display the real page title.
    And I reload the page
    Then I should not see "Dashboard" in the "page-header" "region"
    And I should see "My courses" in the "page-header" "region"
    And I log out
# Check dashboard is displayed when it's re-enabled.
    And the following config values are set as admin:
      | enabledashboard | 1 |
    And I log in as "admin"
# We need to reload the page to skip the "Welcome, xxxx!" and display the real page title.
    And I reload the page
    And I should see "Dashboard" in the "page-header" "region"
    And I should not see "My courses" in the "page-header" "region"

  Scenario: Start page when default home is user preference set to dashboard but dashboard is disabled
    Given the following config values are set as admin:
      | enabledashboard | 0 |
# 2 = User preference.
      | defaulthomepage | 2 |
# 1 = Dashboard.
    And the following "user preferences" exist:
      | user      | preference                       | value |
      | admin     | user_home_page_preference        | 1     |
    When I log in as "admin"
# We need to reload the page to skip the "Welcome, xxxx!" and display the real page title.
    And I reload the page
    Then I should not see "Dashboard"
    And I should see "My courses" in the "page-header" "region"
    And I log out
# Check dashboard is displayed when it's re-enabled.
    And the following config values are set as admin:
      | enabledashboard | 1 |
    And I log in as "admin"
# We need to reload the page to skip the "Welcome, xxxx!" and display the real page title.
    And I reload the page
    And I should see "Dashboard" in the "page-header" "region"
    And I should not see "My courses" in the "page-header" "region"