public function testGetMetadataForSingleClass() { $mockPlatform = new DatabasePlatformMock(); $mockDriver = new MetadataDriverMock(); $mockPlatform->setPrefersSequences(true); $mockPlatform->setPrefersIdentityColumns(false); // Self-made metadata $cm1 = new ClassMetadata('Doctrine\\Tests\\ORM\\Mapping\\TestEntity1'); // Add a mapped field $cm1->mapField(array('fieldName' => 'name', 'type' => 'varchar')); // Add a mapped field $cm1->mapField(array('fieldName' => 'id', 'type' => 'integer', 'id' => true)); // and a mapped association $cm1->mapOneToOne(array('fieldName' => 'other', 'targetEntity' => 'Other', 'mappedBy' => 'this')); // and an id generator type $cm1->setIdGeneratorType('auto'); // SUT $cmf = new ClassMetadataFactoryTestSubject($mockDriver, $mockPlatform); $cmf->setMetadataForClass('Doctrine\\Tests\\ORM\\Mapping\\TestEntity1', $cm1); // Prechecks $this->assertEquals(array(), $cm1->parentClasses); $this->assertEquals('none', $cm1->inheritanceType); $this->assertTrue($cm1->hasField('name')); $this->assertEquals(1, count($cm1->associationMappings)); $this->assertEquals('auto', $cm1->generatorType); // Go $cm1 = $cmf->getMetadataFor('Doctrine\\Tests\\ORM\\Mapping\\TestEntity1'); $this->assertEquals(array(), $cm1->parentClasses); $this->assertTrue($cm1->hasField('name')); $this->assertEquals('sequence', $cm1->generatorType); }
public function testGetMetadataForSingleClass() { $mockDriver = new MetadataDriverMock(); $entityManager = $this->_createEntityManager($mockDriver); $conn = $entityManager->getConnection(); $mockPlatform = $conn->getDatabasePlatform(); $mockPlatform->setPrefersSequences(true); $mockPlatform->setPrefersIdentityColumns(false); // Self-made metadata $cm1 = new ClassMetadata('Doctrine\\Tests\\ORM\\Mapping\\TestEntity1'); $cm1->setPrimaryTable(array('name' => '`group`')); // Add a mapped field $cm1->mapField(array('fieldName' => 'name', 'type' => 'varchar')); // Add a mapped field $cm1->mapField(array('fieldName' => 'id', 'type' => 'integer', 'id' => true)); // and a mapped association $cm1->mapOneToOne(array('fieldName' => 'other', 'targetEntity' => 'Other', 'mappedBy' => 'this')); // and an association on the owning side $joinColumns = array(array('name' => 'other_id', 'referencedColumnName' => 'id')); $cm1->mapOneToOne(array('fieldName' => 'association', 'targetEntity' => 'Other', 'joinColumns' => $joinColumns)); // and an id generator type $cm1->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_AUTO); // SUT $cmf = new ClassMetadataFactoryTestSubject(); $cmf->setEntityManager($entityManager); $cmf->setMetadataForClass('Doctrine\\Tests\\ORM\\Mapping\\TestEntity1', $cm1); // Prechecks $this->assertEquals(array(), $cm1->parentClasses); $this->assertEquals(ClassMetadata::INHERITANCE_TYPE_NONE, $cm1->inheritanceType); $this->assertTrue($cm1->hasField('name')); $this->assertEquals(2, count($cm1->associationMappings)); $this->assertEquals(ClassMetadata::GENERATOR_TYPE_AUTO, $cm1->generatorType); // Go $cm1 = $cmf->getMetadataFor('Doctrine\\Tests\\ORM\\Mapping\\TestEntity1'); $this->assertEquals('group', $cm1->table['name']); $this->assertTrue($cm1->table['quoted']); $this->assertEquals(array(), $cm1->parentClasses); $this->assertTrue($cm1->hasField('name')); $this->assertEquals(ClassMetadata::GENERATOR_TYPE_SEQUENCE, $cm1->generatorType); }