Skip to content

Commit

Permalink
MDL-42294 course: fixed delete script ordering
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
Sam Hemelryk committed Oct 15, 2013
1 parent 2c94d85 commit af321e0
Show file tree
Hide file tree
Showing 2 changed files with 78 additions and 3 deletions.
8 changes: 5 additions & 3 deletions course/delete.php
Original file line number Diff line number Diff line change
Expand Up @@ -50,9 +50,6 @@
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);

Expand All @@ -62,9 +59,14 @@

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);
Expand Down
73 changes: 73 additions & 0 deletions course/tests/behat/create_delete_course.feature
Original file line number Diff line number Diff line change
@@ -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"

0 comments on commit af321e0

Please sign in to comment.