use Silex\Application; 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)) {
use Notes\Domain\Entity\UserBuilder; describe('Notes\\Domain\\Entity\\UserBuilder', function () { describe('->__construct()', function () { it('should create a new UserBuilder object', function () { $actual = new UserBuilder(); expect($actual)->to->be->instanceof('Notes\\Domain\\Entity\\UserBuilder'); }); }); describe('->build()', function () { it('should create a new User object', function () { $builder = new UserBuilder(); $faker = \Faker\Factory::create(); $builder->setFirstName($faker->firstName); $builder->setLastName($faker->lastName); $builder->setEmail($faker->email); $actual = $builder->build(); expect($actual)->to->be->instanceof('Notes\\Domain\\Entity\\User'); }); }); describe('->setEmail()', function () { it('should change the email property of this UserBuilder object.', function () { $builder = new UserBuilder(); $faker = \Faker\Factory::create(); $email = $faker->email; $builder->setEmail($email); expect($builder->getEmail())->equal($email); }); }); describe('->setFirstname()', function () { it('should change the firstname property of this UserBuilder object.', function () { $builder = new UserBuilder();
use Notes\Domain\Entity\UserBuilder; describe('Notes\\Domain\\Entity\\UserBuilder', function () { describe('->__construct()', function () { it('should create a new UserBuilder object', function () { $actual = new UserBuilder(); expect($actual)->to->be->instanceof('Notes\\Domain\\Entity\\UserBuilder'); }); }); describe('->build()', function () { it('should create a new User object', function () { $builder = new UserBuilder(); $faker = \Faker\Factory::create(); $firstname = $faker->firstName; $lastname = $faker->lastName; $email = $faker->email; $actual = $builder->build($firstname, $lastname, $email); expect($actual)->to->be->instanceof('Notes\\Domain\\Entity\\User'); }); }); describe('->buildManualSet()', function () { it('should create a new User object', function () { $builder = new UserBuilder(); $faker = \Faker\Factory::create(); $builder->setFirstName($faker->firstName); $builder->setLastName($faker->lastName); $builder->setEmail($faker->email); $actual = $builder->buildManualSet(); expect($actual)->to->be->instanceof('Notes\\Domain\\Entity\\User'); }); }); describe('->setEmail()', function () {