MDL-42294 course: fixed delete script ordering

Added a behat test for the creation and deletion of a new course.
This should turn up any such errors like this during automated
testing in the future.
This commit is contained in:
Sam Hemelryk 2013-10-15 09:19:03 +13:00
parent 2c94d858f0
commit af321e0f20
2 changed files with 78 additions and 3 deletions

View File

@ -50,9 +50,6 @@ navigation_node::override_active_url(new moodle_url('/course/management.php'));
if ($delete === md5($course->timemodified)) {
// We do - time to delete the course.
require_sesskey();
delete_course($course);
// Update course count in categories.
fix_course_sortorder();
$strdeletingcourse = get_string("deletingcourse", "", $courseshortname);
@ -62,9 +59,14 @@ if ($delete === md5($course->timemodified)) {
echo $OUTPUT->header();
echo $OUTPUT->heading($strdeletingcourse);
// We do this here because it spits out feedback as it goes.
delete_course($course);
echo $OUTPUT->heading( get_string("deletedcourse", "", $courseshortname) );
// Update course count in categories.
fix_course_sortorder();
echo $OUTPUT->continue_button($categoryurl);
echo $OUTPUT->footer();
exit; // We must exit here!!!
}
$strdeletecheck = get_string("deletecheck", "", $courseshortname);

View File

@ -0,0 +1,73 @@
@core @core_course
Feature: Test we can both create and delete a course.
As a Moodle admin
I need to test I can create a course
I need to test I can delete a course
Scenario: Create a course
Given the following "categories" exists:
| name | category 0| 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" 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" "css_element"
And I should see "No courses in this category" in the "#course-listing" "css_element"
And I click on "New course" "link" in the ".course-listing-actions" "css_element"
And I fill the moodle form with:
| Course full name | Test course: create a course |
| Course short name | TCCAC |
| Course ID number | TC3401 |
| Course summary | This course has been created by automated tests. |
And I press "Save changes"
# Redirect
And I go to the courses management page
And I should see the "Course categories" 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" "css_element"
And I should see "Test course: create a course" in the "#course-listing" "css_element"
Scenario: Delete a course
Given the following "categories" exists:
| name | category 0| idnumber |
| Cat 1 | 0 | CAT1 |
And the following "courses" exists:
| category | fullname | shortname | idnumber |
| CAT1 | Test course: create a course | TCCAC | TC3401 |
| CAT1 | Test course 2: create another course | TC2CAC | TC3402 |
And I log in as "admin"
And I go to the courses management page
And I should see the "Course categories" 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" "css_element"
And I should see "Test course: create a course" in the "#course-listing" "css_element"
And I should see "Test course 2: create another course" in the "#course-listing" "css_element"
And I click on course "Test course: create a course" in the management interface
# Redirect
And I should see the "Course categories and courses" management page with a course selected
And I should see "Cat 1" in the "#category-listing" "css_element"
And I should see "Test course: create a course" in the "#course-listing" "css_element"
And I should see "Test course 2: create another course" in the "#course-listing" "css_element"
And I should see "Test course: create a course" in the "#course-detail" "css_element"
And I click on "Delete" "link" in the ".course-detail-listing-actions" "css_element"
# Redirect
And I should see "Delete TCCAC"
And I should see "Test course: create a course (TCCAC)"
And I press "Continue"
# Redirect
And I should see "Deleting TCCAC"
And I should see "TCCAC has been completely deleted"
And I press "Continue"
# Redirect
And I should see the "Course categories and courses" management page
And I should see "Cat 1" in the "#category-listing" "css_element"
And I should see "Test course 2: create another course" in the "#course-listing" "css_element"