public function testLoadByIdentifierIsMiss()
{
$this->loggerMock->expects($this->once())->method('logCall');
$cacheItemMock = $this->getMock('Stash\\Interfaces\\ItemInterface');
$this->cacheMock->expects($this->at(0))->method('getItem')->with('contentType', 'identifier', 'forum')->will($this->returnValue($cacheItemMock));
$cacheItemMock->expects($this->once())->method('get')->will($this->returnValue(null));
$cacheItemMock->expects($this->once())->method('isMiss')->will($this->returnValue(true));
$innerHandler = $this->getMock('eZ\\Publish\\SPI\\Persistence\\Content\\Type\\Handler');
$this->persistenceHandlerMock->expects($this->once())->method('contentTypeHandler')->will($this->returnValue($innerHandler));
$innerHandler->expects($this->once())->method('loadByIdentifier')->with('forum')->will($this->returnValue(new SPIType(array('id' => 55, 'identifier' => 'forum'))));
$cacheItemMock->expects($this->once())->method('set')->with(55)->will($this->returnValue($cacheItemMock));
$cacheItemMock->expects($this->once())->method('save')->with();
$cacheItemMock2 = $this->getMock('Stash\\Interfaces\\ItemInterface');
$this->cacheMock->expects($this->at(1))->method('getItem')->with('contentType', 55)->will($this->returnValue($cacheItemMock2));
$cacheItemMock2->expects($this->never())->method('get');
$cacheItemMock2->expects($this->never())->method('isMiss');
$cacheItemMock2->expects($this->once())->method('set')->with($this->isInstanceOf('eZ\\Publish\\SPI\\Persistence\\Content\\Type'))->will($this->returnValue($cacheItemMock2));
$cacheItemMock2->expects($this->once())->method('save')->with();
$handler = $this->persistenceCacheHandler->contentTypeHandler();
$handler->loadByIdentifier('forum');
}