Esempio n. 1
0
 /**
  * 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.');
 }
Esempio n. 2
0
 /**
  * This tests Woothemes_Sensei()->quiz->submit_answers_for_grading
  */
 public function testSubmitAnswersForGrading()
 {
     //setup test data
     $test_lesson_id = $this->factory->get_random_lesson_id();
     $test_quiz_id = Sensei()->lesson->lesson_quizzes($test_lesson_id);
     $test_user_quiz_answers = $this->factory->generate_user_quiz_answers($test_quiz_id);
     $files = $this->factory->generate_test_files($test_user_quiz_answers);
     // remove the hooks within the submit function to avoid side effects
     remove_all_actions('sensei_user_quiz_submitted');
     remove_all_actions('sensei_user_lesson_end');
     $test_user_id = wp_create_user('student_submitting', 'student_submitting', '*****@*****.**');
     // make sure the function exists
     $this->assertTrue(method_exists('WooThemes_Sensei_Quiz', 'submit_answers_for_grading'), 'The method submit_answers_for_grading does not exist ');
     // Doest this function return false for bogus data?
     $this->assertFalse(WooThemes_Sensei_Quiz::submit_answers_for_grading('', '', '', ''), 'The function should return false for the wrong parameters');
     $this->assertFalse(WooThemes_Sensei_Quiz::submit_answers_for_grading('-100', array(), '-1000', '-90909'), 'The function should return false for the wrong parameters');
     $this->assertFalse(WooThemes_Sensei_Quiz::submit_answers_for_grading(array(), array(), '20000', '30000'), 'The function should return false for the wrong parameters');
     // Doest this function return true for valid data?
     Sensei_Utils::user_start_lesson($test_user_id, $test_lesson_id);
     $result_for_valid_data = WooThemes_Sensei_Quiz::submit_answers_for_grading($test_user_quiz_answers, $files, $test_lesson_id, $test_user_id);
     $this->assertTrue($result_for_valid_data, 'The function should return true for valid parameters');
 }