Пример #1
0
 /**
  * @return \NilPortugues\Api\JsonApi\Http\Request\Parameters\Sorting
  */
 public function getSort()
 {
     $sort = $this->getQueryParam('sort');
     $sorting = new Sorting();
     if (!empty($sort) && is_string($sort)) {
         $members = \explode(',', $sort);
         if (!empty($members)) {
             foreach ($members as $field) {
                 $key = ltrim($field, '-');
                 $sorting->addField($key, '-' === $field[0] ? 'descending' : 'ascending');
             }
         }
     }
     return $sorting;
 }
 public function setUp()
 {
     $this->sorting = new Sorting();
     $this->sorting->addField('name', 'ascending');
     $this->sorting->addField('id', 'descending');
 }
 public function testItCanAssertAndThrowExceptionForInvalidSortParams()
 {
     $fields = new Fields();
     $included = new Included();
     $sorting = new Sorting();
     $errorBag = new ErrorBag();
     $hasError = false;
     try {
         $sorting->addField('superhero', 'ascending');
         QueryObject::assert($this->serializer, $fields, $included, $sorting, $errorBag, Post::class);
     } catch (QueryException $e) {
         $hasError = true;
     }
     $this->assertTrue($hasError);
 }