You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

319 lines
17 KiB

@core @core_course
Feature: We can change the visibility of categories in the management interface.
As a moodle admin
I need to test hiding and showing a category.
I need to test hiding and showing a sub category.
I need to test visibility is applied to sub categories.
I need to test visibility is applied to courses.
I need to test visibility of children is reset when changing back.
# Tests hiding and then showing a single category.
Scenario: Test making a category hidden and then visible again.
Given the following "categories" exist:
| name | category | idnumber |
| Cat 1 | 0 | CAT1 |
And I log in as "admin"
And I go to the courses management page
And I should see the "Course categories and courses" management page
And I should see "Cat 1" in the "#category-listing ul" "css_element"
And category in management listing should be visible "CAT1"
And I toggle visibility of category "CAT1" in management listing
# Redirect.
And I should see the "Course categories and courses" management page
And category in management listing should be dimmed "CAT1"
And I toggle visibility of category "CAT1" in management listing
# Redirect.
And I should see the "Course categories and courses" management page
And category in management listing should be visible "CAT1"
# Tests hiding and then showing a single category.
@javascript
Scenario: Test using AJAX to make a category hidden and then visible again.
Given the following "categories" exist:
| name | category | idnumber |
| Cat 1 | 0 | CAT1 |
And I log in as "admin"
And I go to the courses management page
And I start watching to see if a new page loads
And I should see the "Course categories and courses" management page
And I should see "Cat 1" in the "#category-listing ul" "css_element"
And category in management listing should be visible "CAT1"
And I toggle visibility of category "CAT1" in management listing
And a new page should not have loaded since I started watching
And category in management listing should be dimmed "CAT1"
And I toggle visibility of category "CAT1" in management listing
And a new page should not have loaded since I started watching
And category in management listing should be visible "CAT1"
# Tests hiding and then showing a subcategory.
Scenario: Test making a subcategory hidden and then visible again.
Given the following "categories" exist:
| name | category | idnumber |
| Cat 1 | 0 | CAT1 |
| Cat 2 | CAT1 | CAT2 |
And I log in as "admin"
And I go to the courses management page
And I should see the "Course categories and courses" management page
And I should see "Cat 1" in the "#category-listing ul" "css_element"
And I should not see "Cat 2" in the "#category-listing ul" "css_element"
And category in management listing should be visible "CAT1"
And I click on category "Cat 1" in the management interface
# Redirect.
And I should see the "Course categories and courses" management page
And I should see "Cat 1" in the "#category-listing ul" "css_element"
And I should see "Cat 2" in the "#category-listing ul" "css_element"
And category in management listing should be visible "CAT1"
And category in management listing should be visible "CAT2"
And I toggle visibility of category "CAT2" in management listing
# Redirect.
And I should see the "Course categories and courses" management page
And I should see "Cat 1" in the "#category-listing ul" "css_element"
And I should see "Cat 2" in the "#category-listing ul" "css_element"
And category in management listing should be visible "CAT1"
And category in management listing should be dimmed "CAT2"
And I toggle visibility of category "CAT2" in management listing
# Redirect.
And I should see the "Course categories and courses" management page
And I should see "Cat 1" in the "#category-listing ul" "css_element"
And I should see "Cat 2" in the "#category-listing ul" "css_element"
And category in management listing should be visible "CAT1"
And category in management listing should be visible "CAT2"
# Tests hiding and then showing a subcategory.
@javascript
Scenario: Test using AJAX to make a subcategory hidden and then visible again.
Given the following "categories" exist:
| name | category | idnumber |
| Cat 1 | 0 | CAT1 |
| Cat 2 | CAT1 | CAT2 |
And I log in as "admin"
And I go to the courses management page
And I start watching to see if a new page loads
And I should see the "Course categories and courses" management page
And I should see "Cat 1" in the "#category-listing ul" "css_element"
And I should not see "Cat 2" in the "#category-listing ul" "css_element"
And category in management listing should be visible "CAT1"
And I click to expand category "CAT1" in the management interface
And a new page should not have loaded since I started watching
And category in management listing should be visible "CAT1"
And category in management listing should be visible "CAT2"
And I toggle visibility of category "CAT2" in management listing
And a new page should not have loaded since I started watching
And category in management listing should be visible "CAT1"
And category in management listing should be dimmed "CAT2"
And I toggle visibility of category "CAT2" in management listing
And a new page should not have loaded since I started watching
And category in management listing should be visible "CAT1"
And category in management listing should be visible "CAT2"
# The test below this is identical except with JavaScript enabled.
Scenario: Test relation between category and course when changing visibility.
Given the following "categories" exist:
| name | category | idnumber |
| Cat 1 | 0 | CAT1 |
| Cat 2 | 0 | CAT2 |
| Cat 3 | CAT1 | CAT3 |
| Cat 4 | CAT1 | CAT4 |
And the following "courses" exist:
| category | fullname | shortname | idnumber |
| CAT1 | Course 1 | Course 1 | C1 |
| CAT1 | Course 2 | Course 2 | C2 |
| CAT1 | Course 3 | Course 3 | C3 |
And I log in as "admin"
And I go to the courses management page
And I should see the "Course categories and courses" management page
And I click on category "Cat 1" in the management interface
# Redirect.
And I should see the "Course categories and courses" management page
And I should see "Cat 1" in the "#category-listing ul" "css_element"
And I should see "Cat 2" in the "#category-listing ul" "css_element"
And I should see "Cat 3" in the "#category-listing ul" "css_element"
And I should see "Cat 4" in the "#category-listing ul" "css_element"
And I should see "Course 1" in the "#course-listing ul.course-list" "css_element"
And I should see "Course 2" in the "#course-listing ul.course-list" "css_element"
And I should see "Course 3" in the "#course-listing ul.course-list" "css_element"
And category in management listing should be visible "CAT1"
And category in management listing should be visible "CAT2"
And category in management listing should be visible "CAT3"
And category in management listing should be visible "CAT4"
And course in management listing should be visible "C1"
And course in management listing should be visible "C2"
And course in management listing should be visible "C3"
And I toggle visibility of course "C2" in management listing
# Redirect.
And I should see the "Course categories and courses" management page with a course selected
And course in management listing should be visible "C1"
And course in management listing should be dimmed "C2"
And course in management listing should be visible "C3"
And I toggle visibility of category "CAT3" in management listing
# Redirect.
And I should see the "Course categories and courses" management page
And I click on "Cat 1" "link"
# Redirect.
And I should see the "Course categories and courses" management page
And category in management listing should be visible "CAT1"
And category in management listing should be visible "CAT2"
And category in management listing should be dimmed "CAT3"
And category in management listing should be visible "CAT4"
And course in management listing should be visible "C1"
And course in management listing should be dimmed "C2"
And course in management listing should be visible "C3"
And I toggle visibility of category "CAT1" in management listing
# Redirect.
And I should see the "Course categories and courses" management page
And category in management listing should be dimmed "CAT1"
And category in management listing should be visible "CAT2"
And category in management listing should be dimmed "CAT3"
And category in management listing should be dimmed "CAT4"
And course in management listing should be dimmed "C1"
And course in management listing should be dimmed "C2"
And course in management listing should be dimmed "C3"
And I toggle visibility of category "CAT1" in management listing
# Redirect.
And I should see the "Course categories and courses" management page
And category in management listing should be visible "CAT1"
And category in management listing should be visible "CAT2"
And category in management listing should be dimmed "CAT3"
And category in management listing should be visible "CAT4"
And course in management listing should be visible "C1"
And course in management listing should be dimmed "C2"
And course in management listing should be visible "C3"
# The test above this is identical except without JavaScript enabled.
@javascript @_cross_browser
Scenario: Test the relation between category and course when changing visibility with AJAX
Given the following "categories" exist:
| name | category | idnumber |
| Cat 1 | 0 | CAT1 |
| Cat 2 | 0 | CAT2 |
| Cat 3 | CAT1 | CAT3 |
| Cat 4 | CAT1 | CAT4 |
And the following "courses" exist:
| category | fullname | shortname | idnumber |
| CAT1 | Course 1 | Course 1 | C1 |
| CAT1 | Course 2 | Course 2 | C2 |
| CAT1 | Course 3 | Course 3 | C3 |
And I log in as "admin"
And I go to the courses management page
And I start watching to see if a new page loads
And I should see the "Course categories and courses" management page
And I click on category "Cat 1" in the management interface
And a new page should have loaded since I started watching
And I start watching to see if a new page loads
And I should see the "Course categories and courses" management page
And I should see "Cat 1" in the "#category-listing ul" "css_element"
And I should see "Cat 2" in the "#category-listing ul" "css_element"
And I should see "Cat 3" in the "#category-listing ul" "css_element"
And I should see "Cat 4" in the "#category-listing ul" "css_element"
And I should see "Course 1" in the "#course-listing ul.course-list" "css_element"
And I should see "Course 2" in the "#course-listing ul.course-list" "css_element"
And I should see "Course 3" in the "#course-listing ul.course-list" "css_element"
And category in management listing should be visible "CAT1"
And category in management listing should be visible "CAT2"
And category in management listing should be visible "CAT3"
And category in management listing should be visible "CAT4"
And course in management listing should be visible "C1"
And course in management listing should be visible "C2"
And course in management listing should be visible "C3"
And I toggle visibility of course "C2" in management listing
And a new page should not have loaded since I started watching
And I should see "Cat 3" in the "#category-listing ul" "css_element"
And course in management listing should be visible "C1"
And course in management listing should be dimmed "C2"
And course in management listing should be visible "C3"
And I toggle visibility of category "CAT3" in management listing
And a new page should not have loaded since I started watching
And category in management listing should be visible "CAT1"
And category in management listing should be visible "CAT2"
And category in management listing should be dimmed "CAT3"
And category in management listing should be visible "CAT4"
And course in management listing should be visible "C1"
And course in management listing should be dimmed "C2"
And course in management listing should be visible "C3"
And I toggle visibility of category "CAT1" in management listing
And a new page should not have loaded since I started watching
And category in management listing should be dimmed "CAT1"
And category in management listing should be visible "CAT2"
And category in management listing should be dimmed "CAT3"
And category in management listing should be dimmed "CAT4"
And course in management listing should be dimmed "C1"
And course in management listing should be dimmed "C2"
And course in management listing should be dimmed "C3"
And I toggle visibility of category "CAT1" in management listing
And a new page should not have loaded since I started watching
And category in management listing should be visible "CAT1"
And category in management listing should be visible "CAT2"
And category in management listing should be dimmed "CAT3"
And category in management listing should be visible "CAT4"
And course in management listing should be visible "C1"
And course in management listing should be dimmed "C2"
And course in management listing should be visible "C3"
@javascript @_cross_browser
Scenario: Test courses are hidden when selected category parent is hidden.
Given the following "categories" exist:
| name | category | idnumber |
| Cat 1 | 0 | CAT1 |
| Cat 2 | CAT1 | CAT2 |
| Cat 3 | CAT2 | CAT3 |
And the following "courses" exist:
| category | fullname | shortname | idnumber |
| CAT3 | Course 1 | Course 1 | C1 |
And I log in as "admin"
And I go to the courses management page
And I start watching to see if a new page loads
And I should see the "Course categories and courses" management page
And I click on category "Cat 1" in the management interface
And a new page should have loaded since I started watching
And I start watching to see if a new page loads
And I should see the "Course categories and courses" management page
And I click on category "Cat 2" in the management interface
And a new page should have loaded since I started watching
And I start watching to see if a new page loads
And I should see the "Course categories and courses" management page
And I click on category "Cat 3" in the management interface
And a new page should have loaded since I started watching
And I start watching to see if a new page loads
And I should see the "Course categories and courses" management page
And category in management listing should be visible "CAT1"
And category in management listing should be visible "CAT2"
And category in management listing should be visible "CAT3"
And course in management listing should be visible "C1"
And I toggle visibility of category "CAT1" in management listing
And a new page should not have loaded since I started watching
And category in management listing should be dimmed "CAT1"
And category in management listing should be dimmed "CAT2"
And category in management listing should be dimmed "CAT3"
And course in management listing should be dimmed "C1"
And I toggle visibility of category "CAT1" in management listing
And a new page should not have loaded since I started watching
And category in management listing should be visible "CAT1"
And category in management listing should be visible "CAT2"
And category in management listing should be visible "CAT3"
And course in management listing should be visible "C1"
And I toggle visibility of course "C1" in management listing
And a new page should not have loaded since I started watching
And category in management listing should be visible "CAT1"
And category in management listing should be visible "CAT2"
And category in management listing should be visible "CAT3"
And course in management listing should be dimmed "C1"
And I toggle visibility of category "CAT1" in management listing
And a new page should not have loaded since I started watching
And category in management listing should be dimmed "CAT1"
And category in management listing should be dimmed "CAT2"
And category in management listing should be dimmed "CAT3"
And course in management listing should be dimmed "C1"
And I toggle visibility of category "CAT1" in management listing
And a new page should not have loaded since I started watching
And category in management listing should be visible "CAT1"
And category in management listing should be visible "CAT2"
And category in management listing should be visible "CAT3"
And course in management listing should be dimmed "C1"