mirror of
https://github.com/moodle/moodle.git
synced 2025-08-11 03:46:42 +02:00
107 lines
5.5 KiB
Gherkin
107 lines
5.5 KiB
Gherkin
@core @core_user
|
|
Feature: Contact site support method and availability can be customised
|
|
In order to effectively support people using my Moodle site
|
|
As an admin
|
|
I need to be able to configure the site support method and who has access to it
|
|
|
|
Background:
|
|
Given the following "users" exist:
|
|
| username | firstname | lastname | email |
|
|
| user1 | User | One | user1@example.com |
|
|
|
|
Scenario: Contact site support can be made available to all site visitors
|
|
Given the following config values are set as admin:
|
|
| supportavailability | 2 |
|
|
# Confirm unauthenticated visitor has access to the contact form.
|
|
When I am on site homepage
|
|
Then I should see "Contact site support" in the "page-footer" "region"
|
|
And I click on "Contact site support" "link" in the "page-footer" "region"
|
|
And I should see "Contact site support" in the "page-header" "region"
|
|
# Confirm someone logged in as guest has access to the contact form.
|
|
And I log in as "guest"
|
|
And I should see "Contact site support" in the "page-footer" "region"
|
|
And I click on "Contact site support" "link" in the "page-footer" "region"
|
|
And I should see "Contact site support" in the "page-header" "region"
|
|
And I log out
|
|
# Confirm logged in user has access to the contact form.
|
|
And I log in as "user1"
|
|
And I should see "Contact site support" in the "page-footer" "region"
|
|
And I click on "Contact site support" "link" in the "page-footer" "region"
|
|
And I should see "Contact site support" in the "page-header" "region"
|
|
|
|
Scenario: Contact site support can be limited to authenticated users
|
|
Given the following config values are set as admin:
|
|
| supportavailability | 1 |
|
|
# Confirm unauthenticated visitor cannot see the option or directly access the page.
|
|
When I am on site homepage
|
|
Then I should not see "Contact site support" in the "page-footer" "region"
|
|
And I am on the "user > Contact Site Support" page
|
|
And I should see "Acceptance test site" in the "page-header" "region"
|
|
And I should not see "Contact site support" in the "page-header" "region"
|
|
# Confirm someone logged in as guest cannot see the option or directly access the page.
|
|
And I log in as "guest"
|
|
And I should not see "Contact site support" in the "page-footer" "region"
|
|
And I am on the "user > Contact Site Support" page
|
|
And I should see "Acceptance test site" in the "page-header" "region"
|
|
And I should not see "Contact site support" in the "page-header" "region"
|
|
And I log out
|
|
# Confirm logged in user has access to the contact form.
|
|
And I log in as "user1"
|
|
And I should see "Contact site support" in the "page-footer" "region"
|
|
And I click on "Contact site support" "link" in the "page-footer" "region"
|
|
And I should see "Contact site support" in the "page-header" "region"
|
|
|
|
Scenario: Contact site support can be disabled
|
|
Given the following config values are set as admin:
|
|
| supportavailability | 0 |
|
|
| defaulthomepage | home |
|
|
# Confirm unauthenticated visitor cannot see the option.
|
|
When I am on site homepage
|
|
Then I should not see "Contact site support" in the "page-footer" "region"
|
|
# Confirm someone logged in as guest cannot see the option.
|
|
And I log in as "guest"
|
|
And I should not see "Contact site support" in the "page-footer" "region"
|
|
And I log out
|
|
# Confirm logged in user cannot see the option.
|
|
And I log in as "user1"
|
|
And I should not see "Contact site support" in the "page-footer" "region"
|
|
And I log out
|
|
# Confirm admin cannot see the option.
|
|
And I log in as "admin"
|
|
And I should not see "Contact site support" in the "page-footer" "region"
|
|
# Confirm visiting the contact form directly without permission redirects to the homepage.
|
|
And I am on the "user > Contact Site Support" page
|
|
And I should see "Acceptance test site" in the "page-header" "region"
|
|
And I should not see "Contact site support" in the "page-header" "region"
|
|
|
|
@javascript
|
|
Scenario: Contact site support link opens a custom support page URL if set
|
|
Given the following config values are set as admin:
|
|
| supportavailability | 1 |
|
|
| supportpage | user/profile.php |
|
|
When I log in as "user1"
|
|
And I am on site homepage
|
|
And I click on "Contact site support" "link" in the "page-footer" "region"
|
|
And I switch to a second window
|
|
Then I should see "User One" in the "page-header" "region"
|
|
And I should not see "Contact site support" in the "page-header" "region"
|
|
And I close all opened windows
|
|
|
|
Scenario: Visiting the contact site support page directly will redirect to the custom support page if set
|
|
Given the following config values are set as admin:
|
|
| supportavailability | 2 |
|
|
| supportpage | profile.php |
|
|
When I log in as "user1"
|
|
And I am on the "user > Contact Site Support" page
|
|
Then I should see "User One" in the "page-header" "region"
|
|
And I should not see "Contact site support" in the "page-header" "region"
|
|
|
|
Scenario: Visiting the contact site support page still redirects to homepage if access to support is disabled
|
|
Given the following config values are set as admin:
|
|
| supportavailability | 0 |
|
|
| supportpage | profile.php |
|
|
| defaulthomepage | home |
|
|
When I log in as "user1"
|
|
And I am on the "user > Contact Site Support" page
|
|
Then I should see "Acceptance test site" in the "page-header" "region"
|
|
And I should not see "Contact site support" in the "page-header" "region"
|