function testFetch() { $entity = new DataSpace(); $entity->set('_node_id', $id = 10); $result = new PagedArrayDataset(array()); $decorated_dao = new MockSQLBasedDAO($this); $decorated_dao->expectOnce('addCriteria'); $decorated_dao->expectOnce('fetch'); $data = array(array('whatever1'), array('whatever2')); $rs = new PagedArrayDataset($data); $decorated_dao->setReturnReference('fetch', $rs); $criteria = new MockTreeNodeSiblingsCriteria($this); $criteria->expectOnce('setParentNodeId', array($id)); $node_dao = new MockRequestResolverResultDAO($this); $node_dao->expectOnce('fetchRecord'); $node_dao->setReturnReference('fetchRecord', $entity); $dao = new NodeSiblingsDAOTestVersion($this); $dao->NodeSiblingsDAO($decorated_dao, $node_dao); $dao->setReturnReference('getTreeNodeSiblingsCriteria', $criteria); $this->assertNotNull($dao->fetch()); $decorated_dao->tally(); $node_dao->tally(); $criteria->tally(); }
function testLoad() { $mapper1 = new MockMapper($this); $mapper1->setReturnValue('getIdentityKeyName', 'id'); $mapper2 = new MockMapper($this);//will be used by default $mapper2->setReturnValue('getIdentityKeyName', 'id'); $mapper = new EntityDataMapper(); $mapper->registerPartMapper('Part1', $mapper1); $part1 = new EntityPartStub1(); $part1->set('id', 10); $part2 = new EntityPartStub2(); $part2->set('id', 12); $entity = new Entity(); $entity->registerPart('Part1', $part1); $entity->registerPart('Part2', $part2); $object_mapper = new MockMapper($this); $this->toolkit->setReturnReference('createDataMapper', $object_mapper, array('ObjectMapper')); $this->toolkit->setReturnReference('createDataMapper', $mapper1, array('EntityPartStub1Mapper')); $this->toolkit->setReturnReference('createDataMapper', $mapper2, array('EntityPartStub2Mapper')); $record = new DataSpace(); $record->set('oid', $oid = 1000); $object_mapper->expectOnce('load', array($record, $entity)); $mapper1->expectOnce('load', array($record, $part1)); $mapper2->expectOnce('load', array($record, $part2)); $mapper->load($record, $entity); $this->assertEqual($part1->get('oid'), $oid); $this->assertEqual($part2->get('oid'), $oid); $object_mapper->tally(); $mapper1->tally(); $mapper2->tally(); $uow =& $this->toolkit->getUOW(); $this->assertTrue($uow->isExisting($part1)); $this->assertTrue($uow->isExisting($part2)); }