function it_gets_files_when_the_list_has_one_file(AllFilesQuery $query, FileRepository $repository, File $file, FileDataTransformer $dataTransformer, \DateTimeImmutable $createdOn, \DateTimeImmutable $updatedOn) { $repository->all()->shouldBeCalled()->willReturn([$file]); $dataTransformer->write($file)->shouldBeCalled(); $dataTransformer->read()->shouldBeCalled()->willReturn(['id' => 'file-id', 'created_on' => $createdOn, 'mime_type' => 'image/jpeg', 'file_name' => 'image.jpeg', 'updated_on' => $updatedOn]); $this->__invoke($query)->shouldReturn([['id' => 'file-id', 'created_on' => $createdOn, 'mime_type' => 'image/jpeg', 'file_name' => 'image.jpeg', 'updated_on' => $updatedOn]]); }
/** * Handles the given query. * * @param AllFilesQuery $aQuery The query * * @return mixed */ public function __invoke(AllFilesQuery $aQuery) { $files = $this->repository->all(); $result = array_map(function (File $file) { $this->dataTransformer->write($file); return $this->dataTransformer->read(); }, $files); return $result; }
function it_gets_the_file(FileOfNameQuery $query, FileRepository $repository, File $file, FileDataTransformer $dataTransformer, \DateTimeImmutable $createdOn, \DateTimeImmutable $updatedOn) { $query->name()->shouldBeCalled()->willReturn('file.pdf'); $name = new FileName('file.pdf'); $repository->fileOfName($name)->shouldBeCalled()->willReturn($file); $dataTransformer->write($file)->shouldBeCalled(); $dataTransformer->read()->shouldBeCalled()->willReturn(['id' => 'file-id', 'created_on' => $createdOn, 'mime_type' => 'image/jpeg', 'file_name' => 'file.pdf', 'updated_on' => $updatedOn]); $this->__invoke($query)->shouldReturn(['id' => 'file-id', 'created_on' => $createdOn, 'mime_type' => 'image/jpeg', 'file_name' => 'file.pdf', 'updated_on' => $updatedOn]); }
/** * Handles the given query. * * @param FileOfNameQuery $aQuery The query * * @throws FileDoesNotExistException when the file name does not exist * * @return mixed */ public function __invoke(FileOfNameQuery $aQuery) { $fileName = new FileName($aQuery->name()); $file = $this->repository->fileOfName($fileName); if (null === $file) { throw new FileDoesNotExistException(); } $this->dataTransformer->write($file); return $this->dataTransformer->read(); }