/** * Testing the is lesson pre-requisite completed function. * * @since 1.9.0 */ public function testIsPreRequisiteComplete() { // does this function add_user_data exist? $this->assertTrue(method_exists('WooThemes_Sensei_Lesson', 'is_prerequisite_complete'), 'The lesson class function `is_prerequisite_complete` does not exist '); // falsy state $user_id = 0; $lesson_id = 0; $this->assertFalse(WooThemes_Sensei_Lesson::is_prerequisite_complete($lesson_id, $user_id), 'None existing lesson or user should return false'); $test_user_id = wp_create_user('studentPrerequisite', 'studentPrerequisite', '*****@*****.**'); $test_lesson = $this->factory->get_lessons(); $test_lesson_id = $test_lesson[0]; // truthy state $course_id = $this->factory->get_random_course_id(); $lessons = $this->factory->get_lessons(); $test_lesson_prerequisite_id = $lessons[1]; // add lesson to random course update_post_meta($test_lesson_prerequisite_id, '_lesson_course', $course_id); update_post_meta($test_lesson_id, '_lesson_course', $course_id); // setup prerequisite update_post_meta($test_lesson_id, '_lesson_prerequisite', $test_lesson_prerequisite_id); Sensei_Utils::user_start_lesson($test_user_id, $test_lesson_prerequisite_id); $this->assertFalse(WooThemes_Sensei_Lesson::is_prerequisite_complete($test_lesson_id, $test_user_id), 'Users that has NOT completeded prerequisite should return false.'); Sensei_Utils::user_start_lesson($test_user_id, $test_lesson_prerequisite_id, true); $this->assertTrue(Sensei_Lesson::is_prerequisite_complete($test_lesson_id, $test_user_id), 'Users that has completeded prerequisite should return true.'); }