/** * @test * @author Karsten Dambekalns <*****@*****.**> */ public function unregisterObjectRemovesRegisteredObject() { $object1 = new \stdClass(); $object2 = new \stdClass(); $session = new \F3\FLOW3\Persistence\Session(); $session->registerObject($object1, 12345); $session->registerObject($object2, 67890); $this->assertTrue($session->hasObject($object1), 'Session claims it does not have registered object.'); $this->assertTrue($session->hasIdentifier('12345'), 'Session claims it does not have registered object.'); $this->assertTrue($session->hasObject($object1), 'Session claims it does not have registered object.'); $this->assertTrue($session->hasIdentifier('67890'), 'Session claims it does not have registered object.'); $session->unregisterObject($object1); $this->assertFalse($session->hasObject($object1), 'Session claims it does have unregistered object.'); $this->assertFalse($session->hasIdentifier('12345'), 'Session claims it does not have registered object.'); $this->assertTrue($session->hasObject($object2), 'Session claims it does not have registered object.'); $this->assertTrue($session->hasIdentifier('67890'), 'Session claims it does not have registered object.'); }
/** * @test * @author Karsten Dambekalns <*****@*****.**> */ public function getValueObjectUsageCountEmitsExpectedSql($subject = 'fakeHash') { $mockStatement = $this->getMock('PDOStatement'); $mockStatement->expects($this->once())->method('execute')->with(array('fakeHash')); $mockPdo = $this->getMock('PdoInterface'); $mockPdo->expects($this->once())->method('prepare')->with('SELECT COUNT(DISTINCT "parent") FROM "properties_data" WHERE "object"=?')->will($this->returnValue($mockStatement)); $subject = new \stdClass(); $persistenceSession = new \F3\FLOW3\Persistence\Session(); $persistenceSession->registerObject($subject, 'fakeHash'); $backend = $this->getMock($this->buildAccessibleProxy('F3\\FLOW3\\Persistence\\Backend\\GenericPdo\\Backend'), array('dummy')); $backend->injectPersistenceSession($persistenceSession); $backend->_set('databaseHandle', $mockPdo); $backend->_call('getValueObjectUsageCount', $subject); }