Example #1
0
 /**
  * 카테고리 아이템에 속하는 대상 아이디 목록을 반환
  *
  * @param CategoryItemEntity $item item object
  * @return array
  */
 public function getTargetIds(CategoryItemEntity $item)
 {
     $items = $this->itemRepo->fetchDesc($item, 0, false);
     $ids = [];
     foreach ($items as $item) {
         $ids[] = $item->id;
     }
     return $this->itemRepo->fetchTargetIdsByIds($ids);
 }
 public function testFetchTargetIdsByIds()
 {
     list($conn, $query) = $this->getMocks();
     $instance = new CategoryItemRepository($conn);
     $conn->shouldReceive('table')->andReturn($query);
     $query->shouldReceive('whereIn')->once()->with('itemId', [1, 2, 3])->andReturnSelf();
     $query->shouldReceive('get')->once()->andReturn([(object) ['targetId' => 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxa'], (object) ['targetId' => 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxb'], (object) ['targetId' => 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxc'], (object) ['targetId' => 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxd'], (object) ['targetId' => 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxe'], (object) ['targetId' => 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxf']]);
     $targetIds = $instance->fetchTargetIdsByIds([1, 2, 3]);
     $this->assertEquals(['xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxa', 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxb', 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxc', 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxd', 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxe', 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxf'], $targetIds);
 }