public function testAddItem()
 {
     list($repo, $itemRepo) = $this->getMocks();
     $instance = new CategoryHandler($repo, $itemRepo);
     $mockEntity = m::mock('Xpressengine\\Category\\CategoryEntity');
     $mockEntity->count = 0;
     $mockEntity->id = 1;
     $mockItemEntity = m::mock('Xpressengine\\Category\\CategoryItemEntity');
     $mockItemEntity->id = 9;
     $itemRepo->shouldReceive('insert')->once()->with($mockItemEntity)->andReturn($mockItemEntity);
     $itemRepo->shouldReceive('insertHierarchy')->once()->with($mockItemEntity, null)->andReturnNull();
     // parent
     $itemRepo->shouldReceive('fetchAsc')->once()->with($mockItemEntity, 1)->andReturn([]);
     // setOrder
     $itemRepo->shouldReceive('fetchProgenitor')->once()->with(1)->andReturn([$mockItemEntity]);
     $itemRepo->shouldReceive('update')->once()->with($mockItemEntity)->andReturnNull();
     $repo->shouldReceive('increment')->once()->with($mockEntity, 1);
     $item = $instance->addItem($mockEntity, $mockItemEntity);
     $this->assertInstanceOf('Xpressengine\\Category\\CategoryItemEntity', $item);
 }