/** * Test hiding and showing of a course. * * @see \core_course\management\helper::action_course_hide_by_record * @see \core_course\management\helper::action_course_show_by_record */ public function test_action_course_hide_show_by_record() { $this->resetAfterTest(true); $generator = $this->getDataGenerator(); $category = $generator->create_category(); $course = $generator->create_course(); $coursecontext = context_course::instance($course->id); list($user, $roleid) = $this->get_user_objects($generator, $coursecontext->id); $caps = array(self::COURSE_VIEW, self::COURSE_VIEWHIDDEN); $assignment = course_capability_assignment::allow($caps, $roleid, $coursecontext->id); $course = get_course($course->id); // Check it is set to what we think it is. $this->assertEquals('1', $course->visible); $this->assertEquals('1', $course->visibleold); // Test hiding the course. $this->assertTrue(\core_course\management\helper::action_course_hide_by_record($course)); // Refresh the course. $course = get_course($course->id); $this->assertEquals('0', $course->visible); $this->assertEquals('0', $course->visibleold); // Test hiding the course again. Shouldn't change anything. $this->assertTrue(\core_course\management\helper::action_course_hide_by_record($course)); // Refresh the course. $course = get_course($course->id); $this->assertEquals('0', $course->visible); $this->assertEquals('0', $course->visibleold); // Test showing the course. $this->assertTrue(\core_course\management\helper::action_course_show_by_record($course)); // Refresh the course. $course = get_course($course->id); $this->assertEquals('1', $course->visible); $this->assertEquals('1', $course->visibleold); // Test showing the course again. Shouldn't change anything. $this->assertTrue(\core_course\management\helper::action_course_show_by_record($course)); // Refresh the course. $course = get_course($course->id); $this->assertEquals('1', $course->visible); $this->assertEquals('1', $course->visibleold); // Revoke the permissions. $assignment->revoke(); $course = get_course($course->id); try { \core_course\management\helper::action_course_show_by_record($course); } catch (moodle_exception $exception) { $this->assertEquals('course_in_list::can_change_visbility', $exception->debuginfo); } }
$outcome->totalcatcourses = $category->get_courses_count(); $outcome->fromcatcoursecount = $totalcourses; $outcome->paginationtotals = $str; break; case 'movecourseafter': $courseid = required_param('courseid', PARAM_INT); $moveaftercourseid = required_param('moveafter', PARAM_INT); $outcome->outcome = \core_course\management\helper::action_course_change_sortorder_after_course($courseid, $moveaftercourseid); break; case 'hidecourse': $courseid = required_param('courseid', PARAM_INT); $outcome->outcome = \core_course\management\helper::action_course_hide_by_record($courseid); break; case 'showcourse': $courseid = required_param('courseid', PARAM_INT); $outcome->outcome = \core_course\management\helper::action_course_show_by_record($courseid); break; case 'movecategoryup': $categoryid = required_param('categoryid', PARAM_INT); $outcome->outcome = \core_course\management\helper::action_category_change_sortorder_up_one_by_id($categoryid); break; case 'movecategorydown': $categoryid = required_param('categoryid', PARAM_INT); $outcome->outcome = \core_course\management\helper::action_category_change_sortorder_down_one_by_id($categoryid); break; case 'hidecategory': $categoryid = required_param('categoryid', PARAM_INT); $selectedcategoryid = optional_param('selectedcategory', null, PARAM_INT); $outcome->outcome = \core_course\management\helper::action_category_hide_by_id($categoryid); $outcome->categoryvisibility = \core_course\management\helper::get_category_children_visibility($categoryid); $outcome->coursevisibility = \core_course\management\helper::get_category_courses_visibility($categoryid);