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;
 }