$count -= 1; $actual->removeById($this->user1Key); expect($actual->count())->to->equal($count); }); }); describe('->getUser($userID)', function () { it('should return a single user that has the userid given', function () { $actual = new MysqlUserRepository(); $username = "******"; $password = "******"; $email = "*****@*****.**"; $firstName = "Gary"; $lastName = "Grice"; $this->user1Key = new Uuid(); $user1 = new User($this->user1Key, $username, $password, $email, $firstName, $lastName); $actual->add($user1); $returnedUser = $actual->getUser($this->user1Key); expect($returnedUser)->to->be->instanceof('Notes\\Domain\\Entity\\User'); expect($returnedUser->getUserName())->to->equal($user1->getUserName()); }); }); describe('->containsUser($userID)', function () { it('should return true if the user is in the database and false if they are not', function () { $actual = new MysqlUserRepository(); expect($actual->containsUser($this->user1Key))->to->equal(true); $fakeId = new Uuid(); expect($actual->containsUser($fakeId))->to->equal(false); }); }); describe('->modify($userID)', function () { it('should modify a user with the ID given with one or more input values', function () {
use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\Request; use Notes\Domain\Entity\UserBuilder; use Notes\Persistence\Entity\MysqlUserRepository; $app = new Application(); $app->post('/users', function (Request $request) { $data = json_decode($request->getContent(), true); $request->request->replace(is_array($data) ? $data : array()); $data = array('email' => $request->request->get('email'), 'firstName' => $request->request->get('firstName'), 'lastName' => $request->request->get('lastName')); $repo = new MysqlUserRepository(); $userBuilder = new UserBuilder(); if (!isset($data['email'])) { $this->abort(406, 'Invalid Input'); } $user = $userBuilder->build($data['email'], $data['firstName'], $data['lastName']); $repo->add($user); $success_message = "Success"; $response = new Response(json_encode($success_message, 200)); $response->headers->set('Content-Type', 'application/json'); $response->headers->set('Content-Length', strlen($success_message)); return $response; }); $app->get('/', function () { return new Response('<h1>Final Project</h1>', 200); }); $app->get('/users', function () { $sort = isset($_REQUEST['sort']) ? strtoupper(['sort']) : null; $repo = new MysqlUserRepository(); $decoded_json = json_decode($repo->getAll()); if (isset($sort)) { if ($sort == 'ASC') {
$password = '******'; $repo = new MysqlUserRepository($dsn, $username, $password); $userFactory = new UserFactory(); $app->get('/', function () { return new Response('Final Project API', 200); }); $app->get('/users', function (Request $request) use($repo) { $sort = strtolower($request->get("sort-username")); $users = $repo->getUsers(); /* ran out of time cuz my virtual machine crashed, so i didnt implement them!! if($sort == 'dsc') { } elseif($sort == "asc") { }*/ return new Response(json_encode($users), 200, ['Content-Type' => 'application/json']); }); $app->post('/users', function (Application $app, Request $request) use($repo, $userFactory) { $user = $userFactory->create(); $user->setUsername(new StringLiteral("userFromPOST")); $newUser = $repo->add($user); return $app->json($repo->getUsers(), 201); }); $app->before(function (Request $request) { if (0 === strpos($request->headers->get('Content-Type'), 'application/json')) { $data = json_decode($request->getContent(), true); $request->request->replace(is_array($data) ? $data : array()); } }); $app->run();