public function testFetch() { list($conn, $query) = $this->getMocks(); $instance = new ImageRepository($conn); $conn->shouldReceive('table')->andReturn($query); $query->shouldReceive('get')->once()->andReturn([['id' => 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', 'type' => 'letter', 'code' => 'S'], ['id' => 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxy', 'type' => 'letter', 'code' => 'M']]); $data = $instance->fetch([]); $this->assertEquals(2, count($data)); }
/** * Get thumbnails * * @param Media $media media instance * @param null|string $type thumbnail make type * @return Image[] */ public function getThumbnails(Media $media, $type = null) { $wheres = ['originId' => $media->getFile()->getId()]; if ($type !== null) { $wheres = array_merge($wheres, ['type' => $type]); } $metas = $this->repo->fetch($wheres); $tmp = []; foreach ($metas as $meta) { $tmp[$meta->id] = $meta; } $metas = $tmp; $files = $this->storage->children($media->getFile()); $result = []; foreach ($files as $file) { if (isset($metas[$file->getId()]) === true) { $result[] = $this->createModel($file, $metas[$file->getId()]); } } return $result; }