public function testGroupsCollectionOptions() { $account = self::$account; $groups = $account->getGroups(); $groups->offset = 1; $groups->limit = 2; $groups->order = \Stormpath\Resource\Order::format(array('name'), 'desc'); $search = new \Stormpath\Resource\Search(); $groups->search = $search->setFilter(9); $groups->expansion = \Stormpath\Resource\Expansion::format(array('directory')); $this->assertGroupOptions($groups); $groups->search = 'q=9'; $groups->order = 'name desc'; $groups->expansion = array('directory'); $this->assertGroupOptions($groups); $groups->search = array('q' => 9); $groups->expansion = 'directory'; $this->assertGroupOptions($groups); $order = new \Stormpath\Resource\Order(array('name'), 'd'); $groups->order = strval($order); $search = new \Stormpath\Resource\Search(); $groups->search = $search->addStartsWith('description', 'group description')->addEndsWith('name', 'name')->addEquals('status', 'enabled'); $this->assertGroupOptions($groups); $groups->search = $search->addMatchAnywhere('name', 9); $this->assertGroupOptions($groups); }
/** * Creates an Order object based on an array of property * names and an optional sort value. * @param array $properties the property names. * @param null|string $sort optional, asc or desc. * @return Order the created order object. */ public static function format(array $properties, $sort = null) { $order = new Order(); foreach ($properties as $prop) { $order->addProperty($prop); } $order->setSort($sort); return $order; }