/** * @param $query * @return string */ protected function applyFilters($query) { $subtitles = $this->modelItem->applyFilters($query, $this->request->query()); $subtitle = null; if (!empty($subtitles)) { $subtitle = implode(', ', $subtitles); return $subtitle; } return $subtitle; }
/** @test */ public function it_applies_filters() { $filter = Mockery::mock('\\SleepingOwl\\Admin\\Models\\Filters\\Filter'); $builder = Mockery::mock('\\Illuminate\\Database\\Eloquent\\Builder'); $filter->shouldReceive('filter')->with($builder, ['param' => 'value'])->once()->andReturn('filter-result-title'); $modelItem = new ModelItem('\\Foo\\Bar\\Model'); $modelItem->addFilter($filter); $result = $modelItem->applyFilters($builder, ['param' => 'value']); $this->assertEquals(['filter-result-title'], $result); }