Пример #1
0
 public function testFindAllByFieldWithPresenter()
 {
     \Illuminate\Support\Facades\Config::shouldReceive('get')->with('reloquent.fractal.serializer', \League\Fractal\Serializer\DataArraySerializer::class)->andReturn(\League\Fractal\Serializer\DataArraySerializer::class);
     \Illuminate\Support\Facades\Config::shouldReceive('get')->with('reloquent.fractal.params.include', 'include')->andReturn('include');
     $this->model->shouldReceive('transform')->andReturn(['id' => (int) rand(), 'name' => uniqid()]);
     $name = 'test';
     $results = m::mock('Illuminate\\Database\\Eloquent\\Collection')->makePartial();
     $results->push($this->model);
     $req = m::mock('Illuminate\\Http\\Request');
     $req->shouldReceive('has')->withAnyArgs()->andReturn(false);
     $this->app->shouldReceive('make')->with('Illuminate\\Http\\Request')->andReturn($req);
     $presenter = new \Mayconbordin\Reloquent\Presenter\ModelFractalPresenter($this->app);
     $this->app->shouldReceive('make')->with(\Mayconbordin\Reloquent\Presenter\ModelFractalPresenter::class)->andReturn($presenter);
     $this->repository->setPresenter(\Mayconbordin\Reloquent\Presenter\ModelFractalPresenter::class);
     $this->model->shouldReceive('where')->once()->with('name', '=', $name)->andReturnSelf();
     $this->model->shouldReceive('get')->once()->with(['*'])->andReturn($results);
     $r = $this->repository->findAllByField('name', $name);
     $this->assertEquals(['data' => [$this->model->transform()]], $r);
 }