예제 #1
0
 public function testFakeRelationsIsToManyWrapsClassFakesInArray()
 {
     $faker = $this->getFaker();
     $blueprint = Mockery::mock('Skovachev\\Fakefactory\\Model\\Blueprint\\Blueprint');
     $relation = Mockery::mock('Skovachev\\Fakefactory\\Model\\Blueprint\\Relation');
     $relations = array($relation);
     $relationName = 'relName';
     $relatedClassName = 'foobar';
     $overrides = array();
     $overrides[$relationName] = 'baz';
     FakeFactory::shouldReceive('make')->with($relatedClassName, $overrides[$relationName])->once()->andReturn('classFake');
     $relation->shouldReceive('getRelatedClassName')->andReturn($relatedClassName);
     $relation->shouldReceive('getName')->andReturn($relationName);
     $relation->shouldReceive('isToManyRelation')->andReturn(true);
     $blueprint->shouldReceive('getAttributes')->andReturn(array());
     $blueprint->shouldReceive('getRelations')->andReturn($relations);
     $faker->setClassBlueprint($blueprint);
     $relations = $faker->fakeRelations($overrides);
     $this->assertEquals($relations, array('relName' => array('classFake')));
 }