|
@@ -0,0 +1,67 @@
|
|
|
|
+<?php
|
|
|
|
+
|
|
|
|
+namespace Gedmo\Mapping;
|
|
|
|
+
|
|
|
|
+use Doctrine\Common\Annotations\AnnotationReader;
|
|
|
|
+use Doctrine\ORM\Mapping\Driver\AnnotationDriver;
|
|
|
|
+use Doctrine\Common\EventManager;
|
|
|
|
+use Doctrine\ORM\Mapping\Driver\DriverChain;
|
|
|
|
+use Doctrine\ORM\Mapping\Driver\YamlDriver;
|
|
|
|
+use Gedmo\SoftDeleteable\SoftDeleteableListener;
|
|
|
|
+use Tool\BaseTestCaseOM;
|
|
|
|
+
|
|
|
|
+/**
|
|
|
|
+ * These are mapping tests for SoftDeleteable extension
|
|
|
|
+ *
|
|
|
|
+ * @author Gustavo Falco <comfortablynumb84@gmail.com>
|
|
|
|
+ * @author Gediminas Morkevicius <gediminas.morkevicius@gmail.com>
|
|
|
|
+ * @package Gedmo.Mapping
|
|
|
|
+ * @link http://www.gediminasm.org
|
|
|
|
+ * @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
|
|
|
+ */
|
|
|
|
+class SoftDeleteableMappingTest extends BaseTestCaseOM
|
|
|
|
+{
|
|
|
|
+ /**
|
|
|
|
+ * @var Doctrine\ORM\EntityManager
|
|
|
|
+ */
|
|
|
|
+ private $em;
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * @var Gedmo\SoftDeleteable\SoftDeleteableListener
|
|
|
|
+ */
|
|
|
|
+ private $softDeleteable;
|
|
|
|
+
|
|
|
|
+ public function setUp()
|
|
|
|
+ {
|
|
|
|
+ parent::setUp();
|
|
|
|
+
|
|
|
|
+ $reader = new AnnotationReader();
|
|
|
|
+ $annotationDriver = new AnnotationDriver($reader);
|
|
|
|
+
|
|
|
|
+ $yamlDriver = new YamlDriver(__DIR__.'/Driver/Yaml');
|
|
|
|
+
|
|
|
|
+ $chain = new DriverChain;
|
|
|
|
+ $chain->addDriver($yamlDriver, 'Mapping\Fixture\Yaml');
|
|
|
|
+ $chain->addDriver($annotationDriver, 'Mapping\Fixture');
|
|
|
|
+
|
|
|
|
+ $this->softDeleteable = new SoftDeleteableListener();
|
|
|
|
+ $this->evm = new EventManager;
|
|
|
|
+ $this->evm->addEventSubscriber($this->softDeleteable);
|
|
|
|
+
|
|
|
|
+ $this->em = $this->getMockSqliteEntityManager(array(
|
|
|
|
+ 'Mapping\Fixture\Yaml\SoftDeleteable',
|
|
|
|
+ 'Mapping\Fixture\SoftDeleteable'
|
|
|
|
+ ), $chain);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public function testYamlMapping()
|
|
|
|
+ {
|
|
|
|
+ $meta = $this->em->getClassMetadata('Mapping\Fixture\Yaml\SoftDeleteable');
|
|
|
|
+ $config = $this->softDeleteable->getConfiguration($this->em, $meta->name);
|
|
|
|
+
|
|
|
|
+ $this->assertArrayHasKey('softDeleteable', $config);
|
|
|
|
+ $this->assertTrue($config['softDeleteable']);
|
|
|
|
+ $this->assertArrayHasKey('fieldName', $config);
|
|
|
|
+ $this->assertEquals('deletedAt', $config['fieldName']);
|
|
|
|
+ }
|
|
|
|
+}
|