Esempio n. 1
0
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 () {