public function getOne(Criteria $criteria) { // overwrite config defaults? $mode = $criteria->getMode() ? $criteria->getMode() : $this->mode; // criteria $criteria->setMode($mode); // get all scribbles $allScribbles = $this->getDirectory()->load()->getScribbles(); // filter and paginate $filter = new Filter(); $scribbles = $filter->apply($allScribbles, $criteria)->getScribbles(); return $scribbles->first(); }
public function testDefaultMode() { $criteria = new Criteria(); $filter = new Filter(); $filter->apply($this->scribbles, $criteria); $this->assertSame(3, $filter->getScribbles()->count()); $criteria = new Criteria(); $criteria->setMode(Criteria::MODE_PUBLISHED); $filter = new Filter(); $filter->apply($this->scribbles, $criteria); $this->assertSame(3, $filter->getScribbles()->count()); $criteria = new Criteria(); $criteria->setMode(Criteria::MODE_UNPUBLISHED); $filter = new Filter(); $filter->apply($this->scribbles, $criteria); $this->assertSame(1, $filter->getScribbles()->count()); $criteria = new Criteria(); $criteria->setMode(Criteria::MODE_ALL); $filter = new Filter(); $filter->apply($this->scribbles, $criteria); $this->assertSame(4, $filter->getScribbles()->count()); }