public function testCopyForOwner() { $mockOwner2 = $this->getMockUser(2); $model = $this->modelObjects[2]; $childModel = $this->modelObjects[3]; $entity = new CeModelEntity(); $assetClass = new AssetClass(); $subclass = new Subclass(); $assetClass->setModel($model); $assetClass->addSubclasse($subclass); $subclass->setAssetClass($assetClass); $entity->setSubclass($subclass); $childModel->addModelEntity($entity); $copiedModel = $this->manager->copyForOwner($model, $mockOwner2); $this->assertEquals(5, $copiedModel->getRiskRating()); $this->assertEquals(2, $copiedModel->getOwner()->getId()); $this->assertCount(1, $copiedModel->getChildren()); foreach ($copiedModel->getChildren() as $child) { $this->assertEquals(2, $child->getOwner()->getId()); $this->assertCount(1, $child->getModelEntities()); foreach ($child->getModelEntities() as $entity) { $this->assertNotNull($entity->getSubclass()); $this->assertNotNull($entity->getSubclass()->getAssetClass()); } } }
/** * Add asset * * @param AssetClass $asset * @return $this */ public function addAsset(AssetClass $asset) { $asset->setModel($this->model); if ($this->model->getId()) { $asset->setModelId($this->model->getId()); } $this->assets[] = $asset; return $this; }
public function load(ObjectManager $manager) { $index = 1; foreach ($this->assetClasses as $name) { $model = $this->getReference('strategy-' . $index); $assetClass = new AssetClass(); $assetClass->setName($name); $assetClass->setType(AssetClass::TYPE_STOCKS); $assetClass->setModel($model); $manager->persist($assetClass); $this->addReference('asset-class-' . $index, $assetClass); $index++; } $manager->flush(); }
private function createCategories(User $riaUser) { $categories = array(); foreach ($this->categories as $category) { $asset = new AssetClass(); $asset->setName($category['name']); $asset->setType($category['type']); foreach ($category['subclasses'] as $item) { $subclass = new Subclass(); $subclass->setOwner($riaUser); $subclass->setAssetClass($asset); $subclass->setName($item['name']); $subclass->setExpectedPerformance($item['expected_performance']); $subclass->setAccountType($this->getReference('subclass-account-type-' . $item['account_type_index'])); $subclass->setPriority($item['priority']); $subclass->setToleranceBand($item['tolerance_band']); $asset->addSubclasse($subclass); } $categories[] = $asset; } return $categories; }