/** * @group integration */ public function testUnfollowUser() { $this->clearDB(); $this->loadDB(); $username = '******'; $service = new UserService(); $following = $service->following($username); $toUnfollow = $following[0]->username; $service->unfollowUser($username, $toUnfollow); $following = $service->following($username); $this->assertTrue($this->checkUserIsUnfollowed($toUnfollow, $following)); }
})->name('social-friends'); // takes current user session and will follow :username, e.g. one way follow $app->get('/follow/:userToFollow', function ($userToFollow) use($app) { UserService::followUser($_SESSION['username'], $userToFollow); $following = UserService::following($_SESSION['username']); $unfollowUrl = $app->urlFor('social-unfollow', array('userToUnfollow' => null)); $return = array(); foreach ($following as $friend) { $content = array_merge(array('unfollowUrl' => $unfollowUrl), $friend->toArray()); $return[] = $app->view->getInstance()->render('graphs/social/friends-partial', $content); } $app->jsonResponse->build(array('following' => $return)); })->name('social-follow'); // takes current user session and will unfollow :username $app->delete('/unfollow/:userToUnfollow', function ($userToUnfollow) use($app) { UserService::unfollowUser($_SESSION['username'], $userToUnfollow); $following = UserService::following($_SESSION['username']); $unfollowUrl = $app->urlFor('social-unfollow', array('userToUnfollow' => null)); $return = array(); foreach ($following as $friend) { $content = array_merge(array('unfollowUrl' => $unfollowUrl), $friend->toArray()); $return[] = $app->view->getInstance()->render('graphs/social/friends-partial', $content); } $app->jsonResponse->build(array('following' => $return)); })->name('social-unfollow'); //search users by name $app->get('/searchbyusername/:search', function ($search) use($app) { $users = UserService::searchByUsername($search, $_SESSION['username']); $app->jsonResponse->build(array('users' => $users)); })->name('user-search'); // social - show posts