/** * Test that the attribute factory creation fires an event. * * @return void */ public function testCreateFactoryFiresEvent() { $serviceContainer = $this->mockServiceContainer(); $serviceContainer->getEventDispatcher()->expects($this->exactly(1))->method('dispatch')->with($this->equalTo(MetaModelsEvents::ATTRIBUTE_FACTORY_CREATE)); $factory = new AttributeFactory(); $factory->setServiceContainer($serviceContainer); $this->assertSame($serviceContainer, $factory->getServiceContainer()); }
/** * Test the addFactoriesToFactory method. * * @return void * * @SuppressWarnings(PHPMD.Superglobals) * @SuppressWarnings(PHPMD.CamelCaseVariableName) */ public function testGetTypeIconsFromFactory() { $reflection = new \ReflectionClass('MetaModels\\Attribute\\LegacyAttributeTypeFactory'); $typeClassProp = $reflection->getProperty('typeClass'); $typeIconProp = $reflection->getProperty('typeIcon'); $typeClassProp->setAccessible(true); $typeIconProp->setAccessible(true); foreach ($this->testFactories as $typeName => $instance) { $GLOBALS['METAMODELS']['attributes'][$typeName]['class'] = $typeClassProp->getValue($instance); $GLOBALS['METAMODELS']['attributes'][$typeName]['image'] = $typeIconProp->getValue($instance); } $factory = new AttributeFactory(); $factory->setServiceContainer($this->mockServiceContainer()); $this->assertEquals(array_keys($this->testFactories), $factory->getTypeNames()); foreach ($this->testFactories as $typeName => $instance) { $this->assertEquals($typeIconProp->getValue($instance), $factory->getIconForType($typeName)); } unset($GLOBALS['METAMODELS']); }