From 70fb25e936f936cda6ac1436625fb7dacdc901ed Mon Sep 17 00:00:00 2001 From: Kevin Frantz Date: Sun, 6 Jan 2019 16:26:46 +0100 Subject: [PATCH] Solved last template implementation bugs --- .../EntityMetaInformation.php | 6 ++--- .../FormManagement/FormMetaInformation.php | 13 +---------- .../FormMetaInformationTest.php | 14 +++++++++++- .../SourceMetaInformationTest.php | 22 +++++++++++-------- 4 files changed, 30 insertions(+), 25 deletions(-) diff --git a/application/symfony/src/Domain/EntityManagement/EntityMetaInformation.php b/application/symfony/src/Domain/EntityManagement/EntityMetaInformation.php index 23dd42a..4d65073 100644 --- a/application/symfony/src/Domain/EntityManagement/EntityMetaInformation.php +++ b/application/symfony/src/Domain/EntityManagement/EntityMetaInformation.php @@ -57,7 +57,7 @@ class EntityMetaInformation implements EntityMetaInformationInterface { $this->entity = $entity; $this->entityReflection = new \ReflectionClass($entity); - $this->setBasicPathArray(); + $this->setNamespacePathMap(); $this->setPureName(); $this->setInterfaceReflection(); $this->setTemplatePathFormAndView(); @@ -66,10 +66,10 @@ class EntityMetaInformation implements EntityMetaInformationInterface private function setTemplatePathFormAndView(): void { - $this->templatePathFormAndView = new TemplatePathFormAndView($this->namespacePathMap->getPath(), $this->pureName); + $this->templatePathFormAndView = new TemplatePathFormAndView($this->pureName, $this->namespacePathMap->getPath()); } - private function setBasicPathArray(): void + private function setNamespacePathMap(): void { $namespace = $this->entityReflection->getNamespaceName(); $namespaceWithoutRoot = str_replace('App\\Entity\\', '', $namespace); diff --git a/application/symfony/src/Domain/FormManagement/FormMetaInformation.php b/application/symfony/src/Domain/FormManagement/FormMetaInformation.php index a30340e..13a7d71 100644 --- a/application/symfony/src/Domain/FormManagement/FormMetaInformation.php +++ b/application/symfony/src/Domain/FormManagement/FormMetaInformation.php @@ -17,11 +17,6 @@ final class FormMetaInformation implements FormMetaInformationInterface */ private $entityMetaInformation; - /** - * @var TemplatePathInformationInterface - */ - private $templatePathInformation; - /** * @var string */ @@ -33,7 +28,6 @@ final class FormMetaInformation implements FormMetaInformationInterface public function __construct(EntityMetaInformationInterface $entityMetaInformation) { $this->entityMetaInformation = $entityMetaInformation; - $this->setTemplateMetaInformation(); $this->setFormClass(); } @@ -46,11 +40,6 @@ final class FormMetaInformation implements FormMetaInformationInterface $this->formClass .= '\\'.ucfirst($this->entityMetaInformation->getPureName()).'Type'; } - private function setTemplateMetaInformation(): void - { - $this->templatePathInformation = $this->entityMetaInformation->getTemplatePathFormAndView()->getForm(); - } - /** * {@inheritdoc} * @@ -68,6 +57,6 @@ final class FormMetaInformation implements FormMetaInformationInterface */ public function getTemplatePathInformation(): TemplatePathInformationInterface { - return $this->templatePathInformation; + return $this->entityMetaInformation->getTemplatePathFormAndView()->getForm(); } } diff --git a/application/symfony/tests/Unit/Domain/FormManagement/FormMetaInformationTest.php b/application/symfony/tests/Unit/Domain/FormManagement/FormMetaInformationTest.php index c2cc30a..064f361 100644 --- a/application/symfony/tests/Unit/Domain/FormManagement/FormMetaInformationTest.php +++ b/application/symfony/tests/Unit/Domain/FormManagement/FormMetaInformationTest.php @@ -14,6 +14,12 @@ use App\Domain\TemplateManagement\TemplatePathInformationInterface; */ class FormMetaInformationTest extends TestCase { + const FORM_CLASS = 'App\Form\Source\Primitive\Name\SurnameType'; + + const FORM_VIEW_ATOM = 'atom/form/source/primitive/name/surname.html.twig'; + + const FORM_VIEW_MOLECULE = 'molecule/form/source/primitive/name/surname.html.twig'; + /** * @var FormMetaInformationInterface */ @@ -27,7 +33,13 @@ class FormMetaInformationTest extends TestCase public function testGetFormClass(): void { - $this->assertEquals('App\Form\Source\Primitive\Name\SurnameType', $this->formMeta->getFormClass()); + $this->assertEquals(self::FORM_CLASS, $this->formMeta->getFormClass()); + } + + public function testGetView(): void + { + $this->assertEquals(self::FORM_VIEW_ATOM, $this->formMeta->getTemplatePathInformation()->getAtomTemplatePath()); + $this->assertEquals(self::FORM_VIEW_MOLECULE, $this->formMeta->getTemplatePathInformation()->getMoleculeTemplatePath()); } public function testTemplateMeta(): void diff --git a/application/symfony/tests/Unit/Domain/SourceManagement/SourceMetaInformationTest.php b/application/symfony/tests/Unit/Domain/SourceManagement/SourceMetaInformationTest.php index c6ac1b2..79b7720 100644 --- a/application/symfony/tests/Unit/Domain/SourceManagement/SourceMetaInformationTest.php +++ b/application/symfony/tests/Unit/Domain/SourceManagement/SourceMetaInformationTest.php @@ -15,15 +15,20 @@ use App\Exception\NotCorrectInstanceException; class SourceMetaInformationTest extends TestCase { + const FOLDERS = [ + 'source', + 'complex', + ]; + /** * @var SourceMetaInformationInterface */ - protected $sourceMetaInformation; + private $sourceMetaInformation; /** * @var SourceInterface */ - protected $source; + private $source; public function setUp(): void { @@ -37,16 +42,15 @@ class SourceMetaInformationTest extends TestCase $this->assertNotEquals('user2', $this->sourceMetaInformation->getPureName()); } - public function testBasicPath(): void + public function testFolders(): void { - $subset = ['source', 'complex']; - $amount = count($subset); - $basicPathArray = $this->sourceMetaInformation->getNamespacePathMap()->getFolders(); + $amount = count(self::FOLDERS); + $folders = $this->sourceMetaInformation->getNamespacePathMap()->getFolders(); for ($index = 0; $index < $amount; ++$index) { - $this->assertEquals($subset[$index], $basicPathArray[$index]); + $this->assertEquals(self::FOLDERS[$index], $folders[$index]); } - $this->assertArraySubset($subset, $basicPathArray); - $this->assertEquals($amount, count($basicPathArray)); + $this->assertArraySubset(self::FOLDERS, $folders); + $this->assertEquals($amount, count($folders)); } public function testInterfaceReflection(): void