/** * test grabbing a volunteer that does not exist **/ public function testGetInvalidVolunteerByVolId() { //grab a volunteer id that exceeds the maximum allowable volunteer id $volunteer = Volunteer::getVolunteerByVolId($this->getPDO(), BreadBasketTest::INVALID_KEY); $this->assertNull($volunteer); }
public function testValidPut() { //create a new volunteer, and insert into the database $volunteer = new Volunteer(null, $this->valid_org_id, $this->VALID_EMAIL, $this->VALID_EMAIL_ACTIVATION, $this->VALID_FIRST_NAME, $this->VALID_HASH, $this->VALID_ADMIN, $this->VALID_LAST_NAME, $this->VALID_PHONE, $this->VALID_SALT); $volunteer->insert($this->getPDO()); //update the volunteer $volunteer->setVolPhone($this->VALID_ALT_PHONE); //$volunteer->setVolEmail($this->VALID_ALT_EMAIL); // var_dump($volunteer->getVolId()); //send the info to update the API $response = $this->guzzle->put('https://bootcamp-coders.cnm.edu/~kkeller13/bread-basket/public_html/php/api/volunteer/' . $volunteer->getVolId(), ['allow-redirects' => ['strict' => true], 'json' => $volunteer, 'headers' => ['X-XSRF-TOKEN' => $this->token]]); // var_dump($response); $newVolunteer = Volunteer::getVolunteerByVolId($this->getPDO(), $volunteer->getVolId()); var_dump($newVolunteer); //ensure the response was sent, and the api returned a positive status $this->assertSame($response->getStatusCode(), 200); $body = $response->getBody(); var_dump((string) $response->getBody()); $retrievedVol = json_decode($body); // var_dump($retrievedVol); $this->assertSame(200, $retrievedVol->status); //pull the value from the DB, and make sure it was properly updated $newvol = Volunteer::getVolunteerByVolId($this->getPDO(), $volunteer->getVolId()); $this->assertSame($newvol->getVolPhone(), $this->VALID_ALT_PHONE); }
$listing = Listing::getListingByListingId($pdo, $id); if ($listing === null) { throw new RuntimeException("Listing does not exist", 404); } $listing = Listing::getListingByListingId($pdo, $id); $listing->setListingClaimedBy($requestObject->listingClaimedBy); $listing->setListingClosed($requestObject->listingClosed); $listing->setListingCost($requestObject->listingCost); $listing->setListingMemo($requestObject->listingMemo); $listing->setListingParentId($requestObject->listingParentId); $listing->setListingPostTime($requestObject->listingPostTime); $listing->setListingTypeId($requestObject->listingTypeId); $listing->update($pdo); $pusher->trigger("listing", "update", $listing); //if this isn't supposed to be an admin, take away the temporary admin access $security = Volunteer::getVolunteerByVolId($pdo, $_SESSION["volunteer"]->getVolId()); if ($security->getVolIsAdmin() === false) { $_SESSION["volunteer"]->setVolIsAdmin(false); } $reply->message = "Listing updated OK"; } elseif ($method === "POST") { //create new listing $listing = new Listing(null, $_SESSION["volunteer"]->getOrgId(), $requestObject->listingClaimedBy, $requestObject->listingClosed, $requestObject->listingCost, $requestObject->listingMemo, $requestObject->listingParentId, $requestObject->listingPostTime, $requestObject->listingTypeId); $listing->insert($pdo); $pusher->trigger("listing", "new", $listing); $reply->message = "Listing created OK"; } } elseif ($method === "DELETE") { $listing = Listing::getListingByListingId($pdo, $id); if ($listing === null) { throw new RuntimeException("Listing does not exist", 404);
**/ if ($numSent !== count($recipients)) { // the $failedRecipients parameter passed in the send() method now contains contains an array of the Emails that failed throw new RuntimeException("unable to send email", 404); } } } elseif ($method === "DELETE") { //verifyXsrf(); //if they shouldn't have admin access to this method, kill the temp access and boot them //check by retrieving their original volunteer from the DB and checking $security = Volunteer::getVolunteerByVolId($pdo, $_SESSION["volunteer"]->getVolId()); if ($security->getVolIsAdmin() === false) { $_SESSION["volunteer"]->setVolIsAdmin(false); throw new RunTimeException("Access Denied", 403); } $volunteer = Volunteer::getVolunteerByVolId($pdo, $id); if ($volunteer === null) { throw new RangeException("Volunteer does not exist", 404); } $volunteer->delete($pdo); $deletedObject = new stdClass(); $deletedObject->volunteerId = $id; $reply->message = "Volunteer deleted OK"; } } else { //if not an admin, and attempting a method other than get, throw an exception if (empty($method) === false && $method !== "GET") { throw new RuntimeException("Only administrators are allowed to modify entries", 401); } } //send exception back to the caller