public function testFilter() { $criteria = new \Foothing\Repository\Eloquent\EloquentCriteria(); $criteria->filter('name', 'Homer'); $criteria->filter('lastName', 'Simpson'); $criteria->filter('nullable', null); $this->assertEquals(3, count($criteria->filters)); $this->assertEquals('name', $criteria->filters[0]->field); $this->assertEquals('Homer', $criteria->filters[0]->value); $this->assertEquals('=', $criteria->filters[0]->operator); $this->assertEquals('lastName', $criteria->filters[1]->field); $this->assertEquals('Simpson', $criteria->filters[1]->value); $this->assertEquals('=', $criteria->filters[1]->operator); $this->assertEquals('nullable', $criteria->filters[2]->field); $this->assertEquals(null, $criteria->filters[2]->value); $criteria->resetFilters()->filter('foo', 'bar', '<'); $this->assertEquals('<', $criteria->filters[0]->operator); $criteria->resetFilters()->filter('foo', 'bar', '<='); $this->assertEquals('<=', $criteria->filters[0]->operator); $criteria->resetFilters()->filter('foo', 'bar', '>'); $this->assertEquals('>', $criteria->filters[0]->operator); $criteria->resetFilters()->filter('foo', 'bar', '>='); $this->assertEquals('>=', $criteria->filters[0]->operator); $criteria->resetFilters()->filter('foo', 'bar', '!='); $this->assertEquals('!=', $criteria->filters[0]->operator); }
public function testCriteriaIsOverriden() { $this->repository = $this->repository->filter('id', 1, '>')->order('name'); $criteria = new \Foothing\Repository\Eloquent\EloquentCriteria(); $criteria->filter('id', 1); $homer = $this->repository->criteria($criteria)->all(); $this->assertEquals(1, $homer->count()); $this->assertEquals('Homer', $homer[0]->name); }