Example #1
0
 /**
  * Create a fake model instance from Blueprint
  * 
  * @param Skovachev\Fakefactory\Model\Blueprint\Blueprint $blueprint 
  * @return object
  */
 protected function makeFromBlueprint($blueprint)
 {
     $modelClass = $blueprint->getClass();
     $model = $this->reflector->instantiate($modelClass);
     foreach ($blueprint->getAttributes() as $attribute) {
         $this->model->setAttribute($model, $attribute);
     }
     foreach ($blueprint->getRelations() as $relation) {
         $relation->applyToModelAndContainedValue($model);
         $this->model->setRelation($model, $relation);
     }
     $this->clearBuildOptions();
     return $model;
 }
 public function testSetRelation()
 {
     $relationName = 'foo';
     $relationValue = 'bar';
     $databaseManager = Mockery::mock('Skovachev\\Fakefactory\\Model\\DatabaseManager');
     $databaseManager->shouldReceive('registerTypeMapping')->once()->with('enum', 'string');
     $reflector = Mockery::mock('Skovachev\\Fakefactory\\Model\\Reflector');
     $manager = new ModelManager($databaseManager, $reflector);
     $relation = Mockery::mock('Skovachev\\Fakefactory\\Model\\Blueprint\\Relation');
     $relation->shouldReceive('getName')->once()->andReturn($relationName);
     $relation->shouldReceive('getValue')->once()->andReturn($relationValue);
     $relation->shouldReceive('isToManyRelation')->once()->andReturn(false);
     $model = Mockery::mock();
     $model->shouldReceive('setRelation')->once()->with($relationName, $relationValue);
     $manager->setRelation($model, $relation);
 }