public static function updateSubmission()
 {
     // Process updating submissions
     $submissions = SubmissionsDB::getSubmissionsBy('submissionId', $_SESSION['arguments']);
     if (empty($submissions)) {
         HomeView::show();
         header('Location: /' . $_SESSION['base']);
     } elseif ($_SERVER["REQUEST_METHOD"] == "GET") {
         $_SESSION['submissions'] = $submissions;
         SubmissionView::showUpdate();
     } else {
         $parms = $submissions[0]->getParameters();
         $parms['submissionFile'] = array_key_exists('submissionFile', $_POST) ? $_POST['submissionFile'] : "";
         $newSubmission = new Submission($parms);
         $newSubmission->setSubmissionId($submissions[0]->getSubmissionId());
         $submission = SubmissionsDB::updateSubmission($newSubmission);
         if ($submission->getErrorCount() != 0) {
             $_SESSION['submissions'] = array($newSubmission);
             SubmissionView::showUpdate();
         } else {
             HomeView::show();
             header('Location: /' . $_SESSION['base']);
         }
     }
 }
 public function testUpdateSubmission()
 {
     ob_start();
     $validSubmission = array("submitterName" => "krobbins", "assignmentNumber" => "1", "submissionFile" => "myText.apl");
     $s1 = new Submission($validSubmission);
     $s1->setSubmissionId(1);
     $_SESSION = array('submission' => $s1, 'base' => "mvcdbcrud");
     SubmissionView::showUpdate();
     $output = ob_get_clean();
     $this->assertFalse(empty($output), "It should show an update form");
 }
 public static function getSubmissionsArray($rowSets)
 {
     // Return an array of Submission objects extracted from $rowSets
     $submissions = array();
     foreach ($rowSets as $submissionRow) {
         $submission = new Submission($submissionRow);
         $submission->setSubmissionId($submissionRow['submissionId']);
         array_push($submissions, $submission);
     }
     return $submissions;
 }
 public function testUpdateSubmission()
 {
     $myDb = DBMaker::create('ptest');
     Database::clearDB();
     $db = Database::getDB('ptest', 'C:\\xampp\\myConfig.ini');
     $beforeCount = count(SubmissionsDB::getSubmissionsBy());
     $submissions = SubmissionsDB::getSubmissionsBy('submissionId', 1);
     $currentSubmission = $submissions[0];
     $parms = $currentSubmission->getParameters();
     $parms['submissionFile'] = 'newFile.txt';
     $newSubmission = new Submission($parms);
     $newSubmission->setSubmissionId($currentSubmission->getSubmissionId());
     $updatedSubmission = SubmissionsDB::updateSubmission($newSubmission);
     $afterCount = count(SubmissionsDB::getSubmissionsBy());
     $this->assertEquals($beforeCount, $afterCount, 'The number of submission in the database should not change after update');
     $this->assertEquals($updatedSubmission->getSubmissionId(), $newSubmission->getSubmissionId(), 'The id of the updated submission should remain the same');
 }
<?php 
$validSubmission = array("submitterName" => "krobbins", "assignmentNumber" => "1", "submissionFile" => "myText.apl");
$s1 = new Submission($validSubmission);
$s1->setSubmissionId(1);
$submissions = array($s1, $s1);
$_SESSION = array('submissions' => $submissions, 'headerTitle' => "ClassBash Submissions", 'footerTitle' => "<h3>The footer goes here</h3>", 'base' => "mvcdbcrud");
SubmissionView::showall();
?>
 
 
<h2>It should show a Submission table without a header and a footer</h2>
<?php 
$s1->setSubmissionId(1);
$submissions = array($s1, $s1);
$_SESSION = array('submissions' => $submissions, 'base' => "mvcdbcrud");
SubmissionView::showall();
?>
  

<h2>It should allow updating when a valid submission is passed</h2>
<?php 
$validSubmission = array("submitterName" => "krobbins", "assignmentNumber" => "1", "submissionFile" => "myText.apl");
$s1 = new Submission($validSubmission);
$s1->setSubmissionId(1);
$_SESSION = array('submissions' => array($s1), 'base' => "mvcdbcrud");
echo $s1;
SubmissionView::showUpdate();
?>
</body>
</html>