Example #1
0
 public function testInsertDuplicateSubmission()
 {
     $myDb = DBMaker::create('ptest');
     Database::clearDB();
     $db = Database::getDB('ptest', 'C:\\xampp\\myConfig.ini');
     $beforeCount = count(SubmissionsDB::getSubmissionsBy());
     $duplicateTest = array("submitterName" => "Kay", "assignmentNumber" => "1", "submissionFile" => "V:\test.txt");
     $s1 = new Submission($duplicateTest);
     $submission = SubmissionsDB::addSubmission($s1);
     $this->assertTrue(!is_null($submission), 'The returned submission should not be null');
     $this->assertTrue(!empty($submission->getErrors()), 'The returned submission should have errors');
     $afterCount = count(SubmissionsDB::getSubmissionsBy());
     $this->assertEquals($afterCount, $beforeCount, 'The database should have the same number of submissions after trying to insert duplicate');
 }
 public static function newSubmission()
 {
     // Process a new submission
     $submission = null;
     if ($_SERVER["REQUEST_METHOD"] == "POST") {
         if (isset($_FILES["submissionFile"])) {
             $_POST["submissionFile"] = $_FILES["submissionFile"];
         }
         $submission = new Submission($_POST);
         $submission = SubmissionsDB::addSubmission($submission);
     }
     if (is_null($submission) || $submission->getErrorCount() != 0) {
         $_SESSION['submission'] = $submission;
         SubmissionView::showNew();
     } else {
         HomeView::show();
         header('Location: /' . $_SESSION['base']);
     }
 }
$newS1 = SubmissionsDB::addSubmission($s1);
$afterCount = count(SubmissionsDB::getSubmissionsBy());
echo 'The inserted submission Id is:' . $newS1->getSubmissionId() . '<br>';
echo "Before the database has {$beforeCount}";
echo "Now the database has {$afterCount}";
?>

<h2>It should not allow insertion of a duplicate submission</h2>
<?php 
DBMaker::create('ptest');
Database::clearDB();
$db = Database::getDB('ptest', 'C:\\xampp\\myConfig.ini');
$beforeCount = count(SubmissionsDB::getSubmissionsBy());
$duplicateTest = array("submitterName" => "Kay", "assignmentNumber" => "1", "submissionFile" => "V:\test.txt");
$s1 = new Submission($duplicateTest);
$newS1 = SubmissionsDB::addSubmission($s1);
$afterCount = count(SubmissionsDB::getSubmissionsBy());
echo "The inserted submission errors:";
print_r($newS1->getErrors());
echo "Before the database has {$beforeCount}";
echo "Now the database has {$afterCount}";
?>

<h2>It should get a submission by submitter name</h2>
<?php 
DBMaker::create('ptest');
Database::clearDB();
$db = Database::getDB('ptest', 'C:\\xampp\\myConfig.ini');
$submissions = SubmissionsDB::getSubmissionsBy('submitterName', 'Kay');
echo "<br>Number of submissions by Kay is " . count($submissions);
foreach ($submissions as $submission) {