//Sanitize inputs $followerFollowerId = filter_input(INPUT_GET, "{$followerFollowerId}", FILTER_VALIDATE_INT); //Sanitize inputs $followerFollowedId = filter_input(INPUT_GET, "{$followerFollowedId}", FILTER_VALIDATE_INT); //Make sure the id matches what the relevant method requires if ($method === "DELETE" && (empty($followerFollowerId) === true || $followerFollowerId < 0 || (empty($followerFollowedId) === true || $followerFollowedId < 0))) { throw new \InvalidArgumentException("Improper ID", 405); } if ($method === "GET") { //Set an XSRF cookie on 'get' requests setXsrfCookie("/"); //Get the listing based on the current field if (empty($followerFollowerId) === false && empty($followerFollowedId) === false) { $reply->data = Follower::getFollowerByFollowerIdAndFollowedId($pdo, $followerFollowerId, $followerFollowedId); } elseif (empty($followerFollowerId) === false) { $reply->data = Follower::getFollowerByFollowerId($pdo, $followerFollowerId)->toArray(); } elseif (empty($followerFollowedId) === false) { $reply->data = Follower::getFollowerByFollowedId($pdo, $followerFollowedId)->toArray(); } if (empty($_SESSION["profile"]) === false) { if ($method === "POST") { verifyXsrf(); $requestContent = file_get_contents("php://input"); $requestObject = json_decode($requestContent); $follow = new Follower($requestObject->followerFollowerId, $requestObject->followerFollowedId); $follow->insert($pdo); $tempName = Profile::getProfilebyProfileId($pdo, $requestObject->followerFollowedId)->getProfileHandle(); $reply->message = "You are now following " . $tempName; } elseif ($method === "DELETE") { $follower = Follower::getFollowerByFollowerIdAndFollowedId($pdo, $followerFollowerId, $followerFollowedId); if ($follower === null) {
/** * Test trying to locate the Follow relationships of a Follower who does not exist **/ public function testGetInvalidFollowerByFollowerId() { //Search for a follower id that cannot exist $follow = Follower::getFollowerByFollowerId($this->getPDO(), JpegeryTest::INVALID_KEY); $this->assertCount(0, $follow); }