public function test_assign_print_overview()
 {
     global $DB;
     $this->setUser($this->editingteachers[0]);
     $this->create_instance();
     $this->create_instance(array('duedate' => time()));
     $courses = $DB->get_records('course', array('id' => $this->course->id));
     $this->setUser($this->students[0]);
     $overview = array();
     assign_print_overview($courses, $overview);
     $this->assertEquals(count($overview), 1);
     $this->setUser($this->teachers[0]);
     $overview = array();
     assign_print_overview($courses, $overview);
     $this->assertEquals(count($overview), 1);
     $this->setUser($this->editingteachers[0]);
     $overview = array();
     assign_print_overview($courses, $overview);
     $this->assertEquals(1, count($overview));
 }
Exemple #2
0
    public function test_assign_print_overview() {
        $this->setUser($this->editingteachers[0]);
        $this->create_instance();
        $this->create_instance(array('duedate'=>time()));

        $this->setUser($this->students[0]);
        $overview = array();
        assign_print_overview(array($this->course->id => $this->course), $overview);
        $this->assertEquals(count($overview), 1);

        $this->setUser($this->teachers[0]);
        $overview = array();
        assign_print_overview(array($this->course->id => $this->course), $overview);
        $this->assertEquals(count($overview), 1);

        $this->setUser($this->editingteachers[0]);
        $overview = array();
        assign_print_overview(array($this->course->id => $this->course), $overview);
        $this->assertEquals(1, count($overview));
    }
Exemple #3
0
 public function test_assign_print_overview()
 {
     global $DB;
     // Create one more assignment instance.
     $this->setAdminUser();
     $courses = $DB->get_records('course', array('id' => $this->course->id));
     // Past assignments should not show up.
     $pastassign = $this->create_instance(array('duedate' => time(), 'cutoffdate' => time() - 370000, 'nosubmissions' => 0, 'assignsubmission_onlinetext_enabled' => 1));
     // Open assignments should show up only if relevant.
     $openassign = $this->create_instance(array('duedate' => time(), 'cutoffdate' => time() + 370000, 'nosubmissions' => 0, 'assignsubmission_onlinetext_enabled' => 1));
     $pastsubmission = $pastassign->get_user_submission($this->students[0]->id, true);
     $opensubmission = $openassign->get_user_submission($this->students[0]->id, true);
     // Check the overview as the different users.
     // For students , open assignments should show only when there are no valid submissions.
     $this->setUser($this->students[0]);
     $overview = array();
     assign_print_overview($courses, $overview);
     $this->assertEquals(1, count($overview));
     $this->assertRegExp('/.*Assignment 4.*/', $overview[$this->course->id]['assign']);
     // No valid submission.
     $this->assertNotRegExp('/.*Assignment 1.*/', $overview[$this->course->id]['assign']);
     // Has valid submission.
     // And now submit the submission.
     $opensubmission->status = ASSIGN_SUBMISSION_STATUS_SUBMITTED;
     $openassign->testable_update_submission($opensubmission, $this->students[0]->id, true, false);
     $overview = array();
     assign_print_overview($courses, $overview);
     $this->assertEquals(0, count($overview));
     $this->setUser($this->teachers[0]);
     $overview = array();
     assign_print_overview($courses, $overview);
     $this->assertEquals(1, count($overview));
     // Submissions without a grade.
     $this->assertRegExp('/.*Assignment 4.*/', $overview[$this->course->id]['assign']);
     $this->assertRegExp('/.*Assignment 2.*/', $overview[$this->course->id]['assign']);
     $this->setUser($this->editingteachers[0]);
     $overview = array();
     assign_print_overview($courses, $overview);
     $this->assertEquals(1, count($overview));
     // Submissions without a grade.
     $this->assertRegExp('/.*Assignment 4.*/', $overview[$this->course->id]['assign']);
     $this->assertRegExp('/.*Assignment 2.*/', $overview[$this->course->id]['assign']);
     // Let us grade a submission.
     $this->setUser($this->teachers[0]);
     $data = new stdClass();
     $data->grade = '50.0';
     $openassign->testable_apply_grade_to_user($data, $this->students[0]->id, 0);
     $overview = array();
     assign_print_overview($courses, $overview);
     $this->assertEquals(1, count($overview));
     // Now assignment 4 should not show up.
     $this->assertNotRegExp('/.*Assignment 4.*/', $overview[$this->course->id]['assign']);
     $this->assertRegExp('/.*Assignment 2.*/', $overview[$this->course->id]['assign']);
     $this->setUser($this->editingteachers[0]);
     $overview = array();
     assign_print_overview($courses, $overview);
     $this->assertEquals(1, count($overview));
     // Now assignment 4 should not show up.
     $this->assertNotRegExp('/.*Assignment 4.*/', $overview[$this->course->id]['assign']);
     $this->assertRegExp('/.*Assignment 2.*/', $overview[$this->course->id]['assign']);
     // Open offline assignments should not show any notification to students.
     $openassign = $this->create_instance(array('duedate' => time(), 'cutoffdate' => time() + 370000));
     $this->setUser($this->students[0]);
     $overview = array();
     assign_print_overview($courses, $overview);
     $this->assertEquals(0, count($overview));
 }
Exemple #4
0
    public function test_assign_print_overview() {
        global $DB;
        $courses = $DB->get_records('course', array('id' => $this->course->id));


        // Check the overview as the different users.
        $this->setUser($this->students[0]);
        $overview = array();
        assign_print_overview($courses, $overview);
        $this->assertEquals(count($overview), 1);

        $this->setUser($this->teachers[0]);
        $overview = array();
        assign_print_overview($courses, $overview);
        $this->assertEquals(count($overview), 1);

        $this->setUser($this->editingteachers[0]);
        $overview = array();
        assign_print_overview($courses, $overview);
        $this->assertEquals(1, count($overview));
    }