public function testItCanCheckIfEqual() { $sort1 = new Sort(); $sort2 = new Sort(); $sort1->setOrderFor('size', new Order('ASC')); $sort2->setOrderFor('size', new Order('ASC')); $this->assertTrue($sort1->equals($sort2)); $this->assertTrue($sort2->equals($sort1)); }
use NilPortugues\Example\AutoGeneratedId\User; use NilPortugues\Example\AutoGeneratedId\UserId; use NilPortugues\Example\AutoGeneratedId\UserMapping; use NilPortugues\Example\AutoGeneratedId\UserRepository; use NilPortugues\Foundation\Domain\Model\Repository\Filter; use NilPortugues\Foundation\Domain\Model\Repository\Order; use NilPortugues\Foundation\Domain\Model\Repository\Sort; include_once __DIR__ . '/../../vendor/autoload.php'; $pdo = new PDO('sqlite::memory:'); $pdo->exec(' CREATE TABLE users ( user_id INTEGER PRIMARY KEY AUTOINCREMENT, username CHAR(255), public_username CHAR(255), email CHAR(255), created_at DATETIME );'); $mapping = new UserMapping(); $repository = new UserRepository($pdo, $mapping); $user = new User(null, 'nilportugues', 'Nil', '*****@*****.**', new DateTime('2016-01-11')); $user = $repository->add($user); $userId = new UserId($user->id()); print_r($repository->find($userId)); echo PHP_EOL; $filter = new Filter(); $filter->must()->beGreaterThanOrEqual('registeredOn.date', '2016-01-01 00:00:00'); $filter->must()->beLessThan('registeredOn.date', '2016-02-01 00:00:00'); $sort = new Sort(); $sort->setOrderFor('registeredOn.date', new Order('ASC')); print_r($repository->findBy($filter, $sort)); echo PHP_EOL;
$table->string('name', 255); $table->integer('id'); $table->primary('id'); $table->timestamps(); }); $model = new UserModel(); $model->name = 'Admin User'; $model->save(); for ($i = 2; $i <= 20; ++$i) { $model = new UserModel(); $model->name = 'Dummy User ' . $i; $model->created_at = (new DateTime())->setDate(2016, rand(1, 12), rand(1, 27)); $model->save(); } } //------------------------------------------------------------------------------------------------------------- // - getUserAction //------------------------------------------------------------------------------------------------------------- $userAdapter = new UserAdapter(); $repository = new UserRepository($userAdapter); $userId = new UserId(1); print_r($repository->find($userId)); //------------------------------------------------------------------------------------------------------------- // - getUsersRegisteredLastMonth //------------------------------------------------------------------------------------------------------------- $filter = new Filter(); $filter->must()->beGreaterThanOrEqual('created_at', '2016-01-01'); $filter->must()->beLessThan('created_at', '2016-02-01'); $sort = new Sort(); $sort->setOrderFor('created_at', new Order('ASC')); print_r($repository->findBy($filter, $sort));