diff --git a/course/lib.php b/course/lib.php index b3813414ac1..1094eb8aa44 100644 --- a/course/lib.php +++ b/course/lib.php @@ -1144,7 +1144,9 @@ function course_delete_module($cmid, $async = false) { } // Delete activity context questions and question categories. - question_delete_activity($cm); + $showinfo = !defined('AJAX_SCRIPT') || AJAX_SCRIPT == '0'; + + question_delete_activity($cm, $showinfo); // Call the delete_instance function, if it returns false throw an exception. if (!$deleteinstancefunction($cm->instance)) { diff --git a/question/tests/behat/delete_question_activities.feature b/question/tests/behat/delete_question_activities.feature new file mode 100644 index 00000000000..34c02575eca --- /dev/null +++ b/question/tests/behat/delete_question_activities.feature @@ -0,0 +1,32 @@ +@core @core_question +Feature: An activity module instance with questions in its context can be deleted + In order to delete an activity module from the course + As a teacher + I need to be able to delete the activity even if it has questions created in its context + + Background: + Given the following "users" exist: + | username | firstname | lastname | email | + | teacher1 | Teacher | 1 | teacher1@example.com | + And the following "courses" exist: + | fullname | shortname | format | + | Course 1 | C1 | weeks | + And the following "course enrolments" exist: + | user | course | role | + | teacher1 | C1 | editingteacher | + + @javascript + Scenario: Synchronously deleting a quiz with existing questions in its context + Given the following config values are set as admin: + | coursebinenable | 0 | tool_recyclebin | + And I log in as "teacher1" + And I am on "Course 1" course homepage with editing mode on + And I add a "Quiz" to section "1" and I fill the form with: + | Name | Test quiz Q001 | + And I add a "True/False" question to the "Test quiz" quiz with: + | Category | Default for Test quiz Q001 | + | Question name | Test used question to be deleted | + | Question text | Write about whatever you want | + And I am on "Course 1" course homepage + When I delete "Test quiz Q001" activity + Then I should not see "Test quiz Q001"