if ($request === null) { throw new RuntimeException("Request does not exist", 404); } $request->setRequestAdminId($_SESSION["user"]->getUserId()); $request->setRequestApprove((bool) $requestObject->requestApprove); $request->setRequestActionTimeStamp(new DateTime()); $request->setRequestAdminText($requestObject->requestAdminText); $request->update($pdo); $reply->message = "Request updated successfully"; } } else { throw new RuntimeException("Must be an Administrator"); } } elseif ($method === "DELETE") { verifyXsrf(); $request = Request::getRequestByRequestId($pdo, $id); if ($request === null) { throw new RuntimeException("Request does not exist", 404); } $request->delete($pdo); $deletedObject = new stdClass(); $deletedObject->requestId = $id; $reply->message = "Request deleted successfully"; } } catch (Exception $exception) { $reply->status = $exception->getCode(); $reply->message = $exception->getMessage(); } catch (TypeError $typeError) { $reply->status = $typeError->getCode(); $reply->message = $typeError->getMessage(); }
/** * test grabbing all Requests **/ public function testGetAllValidRequests() { // count the number of rows and save it for later $numRows = $this->getConnection()->getRowCount("request"); // create a new Request and insert to into mySQL $request = new Request(null, $this->requestor->getUserId(), $this->admin->getUserId(), $this->VALID_REQUESTTIMESTAMP, $this->VALID_REQUESTACTIONTIMESTAMP, $this->requestApprove, $this->VALID_REQUESTREQUESTORTEXT, $this->VALID_REQUESTADMINTEXT); $request->insert($this->getPDO()); // grab the data from mySQL and enforce the fields match our expectations $results = Request::getAllRequests($this->getPDO()); $this->assertEquals($numRows + 1, $this->getConnection()->getRowCount("request")); $this->assertCount(1, $results); $this->assertContainsOnlyInstancesOf("Edu\\Cnm\\TimeCrunchers\\Request", $results); // grab the result from the array and validate it $pdoRequest = $results[0]; $this->assertEquals($pdoRequest->getRequestRequestorId(), $this->requestor->getUserId()); $this->assertEquals($pdoRequest->getRequestAdminId(), $this->admin->getUserId()); $this->assertEquals($pdoRequest->getRequestTimeStamp(), $this->VALID_REQUESTTIMESTAMP); $this->assertEquals($pdoRequest->getRequestActionTimeStamp(), $this->VALID_REQUESTACTIONTIMESTAMP); $this->assertEquals($pdoRequest->getRequestApprove(), $this->requestApprove); $this->assertEquals($pdoRequest->getRequestRequestorText(), $this->VALID_REQUESTREQUESTORTEXT2); $this->assertEquals($pdoRequest->getRequestAdminText(), $this->VALID_REQUESTADMINTEXT); }