MDL-49837 assign: Use correct assertions and fix return params cleaning

This commit is contained in:
Juan Leyva
2015-04-13 17:38:09 +02:00
parent 88045d94ae
commit 7dedfc8b79
+27 -4
View File
@@ -309,6 +309,7 @@ class mod_assign_external_testcase extends externallib_advanced_testcase {
$assignmentids[] = $assign1->id;
$result = mod_assign_external::get_submissions($assignmentids);
$result = external_api::clean_returnvalue(mod_assign_external::get_submissions_returns(), $result);
// Check the online text submission is returned.
$this->assertEquals(1, count($result['assignments']));
@@ -510,6 +511,7 @@ class mod_assign_external_testcase extends externallib_advanced_testcase {
$this->setUser($teacher);
$students = array($student1->id, $student2->id);
$result = mod_assign_external::lock_submissions($instance->id, $students);
$result = external_api::clean_returnvalue(mod_assign_external::lock_submissions_returns(), $result);
// Check for 0 warnings.
$this->assertEquals(0, count($result));
@@ -574,11 +576,13 @@ class mod_assign_external_testcase extends externallib_advanced_testcase {
$this->setUser($teacher);
$students = array($student1->id, $student2->id);
$result = mod_assign_external::lock_submissions($instance->id, $students);
$result = external_api::clean_returnvalue(mod_assign_external::lock_submissions_returns(), $result);
// Check for 0 warnings.
$this->assertEquals(0, count($result));
$result = mod_assign_external::unlock_submissions($instance->id, $students);
$result = external_api::clean_returnvalue(mod_assign_external::unlock_submissions_returns(), $result);
// Check for 0 warnings.
$this->assertEquals(0, count($result));
@@ -634,11 +638,13 @@ class mod_assign_external_testcase extends externallib_advanced_testcase {
$plugin->save($submission, $data);
$result = mod_assign_external::submit_for_grading($instance->id, false);
$result = external_api::clean_returnvalue(mod_assign_external::submit_for_grading_returns(), $result);
// Should be 1 fail because the submission statement was not aceptted.
$this->assertEquals(1, count($result));
$result = mod_assign_external::submit_for_grading($instance->id, true);
$result = external_api::clean_returnvalue(mod_assign_external::submit_for_grading_returns(), $result);
// Check for 0 warnings.
$this->assertEquals(0, count($result));
@@ -689,28 +695,34 @@ class mod_assign_external_testcase extends externallib_advanced_testcase {
$this->setUser($student1);
$result = mod_assign_external::submit_for_grading($instance->id, true);
$result = external_api::clean_returnvalue(mod_assign_external::submit_for_grading_returns(), $result);
// Check for 0 warnings.
$this->assertEquals(1, count($result));
$this->setUser($teacher);
$result = mod_assign_external::save_user_extensions($instance->id, array($student1->id), array($now, $tomorrow));
$result = external_api::clean_returnvalue(mod_assign_external::save_user_extensions_returns(), $result);
$this->assertEquals(1, count($result));
$this->setUser($teacher);
$result = mod_assign_external::save_user_extensions($instance->id, array($student1->id), array($yesterday - 10));
$result = external_api::clean_returnvalue(mod_assign_external::save_user_extensions_returns(), $result);
$this->assertEquals(1, count($result));
$this->setUser($teacher);
$result = mod_assign_external::save_user_extensions($instance->id, array($student1->id), array($tomorrow));
$result = external_api::clean_returnvalue(mod_assign_external::save_user_extensions_returns(), $result);
$this->assertEquals(0, count($result));
$this->setUser($student1);
$result = mod_assign_external::submit_for_grading($instance->id, true);
$result = external_api::clean_returnvalue(mod_assign_external::submit_for_grading_returns(), $result);
$this->assertEquals(0, count($result));
$this->setUser($student1);
$result = mod_assign_external::save_user_extensions($instance->id, array($student1->id), array($now, $tomorrow));
$result = external_api::clean_returnvalue(mod_assign_external::save_user_extensions_returns(), $result);
}
@@ -751,11 +763,13 @@ class mod_assign_external_testcase extends externallib_advanced_testcase {
$this->setUser($student1);
$this->setExpectedException('required_capability_exception');
$result = mod_assign_external::reveal_identities($instance->id);
$result = external_api::clean_returnvalue(mod_assign_external::reveal_identities_returns(), $result);
$this->assertEquals(1, count($result));
$this->assertEquals(true, $assign->is_blind_marking());
$this->setUser($teacher);
$result = mod_assign_external::reveal_identities($instance->id);
$result = external_api::clean_returnvalue(mod_assign_external::reveal_identities_returns(), $result);
$this->assertEquals(0, count($result));
$this->assertEquals(false, $assign->is_blind_marking());
@@ -770,6 +784,7 @@ class mod_assign_external_testcase extends externallib_advanced_testcase {
$assign = new assign($context, $cm, $course);
$result = mod_assign_external::reveal_identities($instance->id);
$result = external_api::clean_returnvalue(mod_assign_external::reveal_identities_returns(), $result);
$this->assertEquals(1, count($result));
$this->assertEquals(false, $assign->is_blind_marking());
@@ -815,12 +830,14 @@ class mod_assign_external_testcase extends externallib_advanced_testcase {
// Simulate a submission.
$this->setUser($student1);
$result = mod_assign_external::submit_for_grading($instance->id, true);
$result = external_api::clean_returnvalue(mod_assign_external::submit_for_grading_returns(), $result);
$this->assertEquals(0, count($result));
// Ready to test.
$this->setUser($teacher);
$students = array($student1->id, $student2->id);
$result = mod_assign_external::revert_submissions_to_draft($instance->id, array($student1->id));
$result = external_api::clean_returnvalue(mod_assign_external::submit_for_grading_returns(), $result);
// Check for 0 warnings.
$this->assertEquals(0, count($result));
@@ -907,6 +924,7 @@ class mod_assign_external_testcase extends externallib_advanced_testcase {
'itemid'=>$draftidonlinetext);
$submissionpluginparams['onlinetext_editor'] = $onlinetexteditorparams;
$result = mod_assign_external::save_submission($instance->id, $submissionpluginparams);
$result = external_api::clean_returnvalue(mod_assign_external::save_submission_returns(), $result);
$this->assertEquals(0, count($result));
@@ -981,11 +999,11 @@ class mod_assign_external_testcase extends externallib_advanced_testcase {
'released',
false,
$feedbackpluginparams);
// No warnings.
$this->assertEquals(0, count($result));
$this->assertNull($result);
$result = mod_assign_external::get_grades(array($instance->id));
$result = external_api::clean_returnvalue(mod_assign_external::get_grades_returns(), $result);
$this->assertEquals($result['assignments'][0]['grades'][0]['grade'], '50.0');
}
@@ -1131,8 +1149,7 @@ class mod_assign_external_testcase extends externallib_advanced_testcase {
$grades[] = $student2gradeinfo;
$result = mod_assign_external::save_grades($instance->id, false, $grades);
// No warnings.
$this->assertEquals(0, count($result));
$this->assertNull($result);
$student1grade = $DB->get_record('assign_grades',
array('userid' => $student1->id, 'assignment' => $instance->id),
@@ -1244,6 +1261,7 @@ class mod_assign_external_testcase extends externallib_advanced_testcase {
$this->setExpectedException('invalid_parameter_exception');
// Expect an exception since 2 grades have been submitted for the same team.
$result = mod_assign_external::save_grades($instance->id, true, $grades1);
$result = external_api::clean_returnvalue(mod_assign_external::save_grades_returns(), $result);
$grades2 = array();
$student3gradeinfo = array();
@@ -1264,6 +1282,7 @@ class mod_assign_external_testcase extends externallib_advanced_testcase {
$student4gradeinfo['plugindata'] = $feedbackpluginparams;
$grades2[] = $student4gradeinfo;
$result = mod_assign_external::save_grades($instance->id, true, $grades2);
$result = external_api::clean_returnvalue(mod_assign_external::save_grades_returns(), $result);
// There should be no warnings.
$this->assertEquals(0, count($result));
@@ -1325,6 +1344,7 @@ class mod_assign_external_testcase extends externallib_advanced_testcase {
$submissionpluginparams['onlinetext_editor'] = $onlinetexteditorparams;
$submissionpluginparams['files_filemanager'] = file_get_unused_draft_itemid();
$result = mod_assign_external::save_submission($instance->id, $submissionpluginparams);
$result = external_api::clean_returnvalue(mod_assign_external::save_submission_returns(), $result);
$this->setUser($teacher);
// Add a grade and reopen the attempt.
@@ -1342,15 +1362,18 @@ class mod_assign_external_testcase extends externallib_advanced_testcase {
'released',
false,
$feedbackpluginparams);
$this->assertNull($result);
$this->setUser($student1);
// Now copy the previous attempt.
$result = mod_assign_external::copy_previous_attempt($instance->id);
$result = external_api::clean_returnvalue(mod_assign_external::copy_previous_attempt_returns(), $result);
// No warnings.
$this->assertEquals(0, count($result));
$this->setUser($teacher);
$result = mod_assign_external::get_submissions(array($instance->id));
$result = external_api::clean_returnvalue(mod_assign_external::get_submissions_returns(), $result);
// Check we are now on the second attempt.
$this->assertEquals($result['assignments'][0]['submissions'][0]['attemptnumber'], 1);