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) {