public function testGenerateWithReferences()
 {
     $rule = $this->createTestRule();
     $referenceArray = [['referenceName' => 'user-1'], ['referenceName' => 'user-2']];
     $membersRule = new FixtureGeneratorRule();
     $membersRule->setKey('members')->setCountRepeat(5);
     $memberRule = new FixtureGeneratorRule();
     $memberRule->setStrategy(FixtureGeneratorStrategy::REFERENCE)->setReferenceArray($referenceArray);
     $membersRule->addRule($memberRule);
     $rule->addRule($membersRule);
     $ownerRule = new FixtureGeneratorRule();
     $ownerRule->setKey('owner')->setStrategy(FixtureGeneratorStrategy::REFERENCE)->setReferenceArray($referenceArray);
     $rule->addRule($ownerRule);
     $json = $this->generator->generate($rule);
 }
Example #2
0
 /**
  * @param string $key
  * @param array  $ruleArray
  *
  * @return FixtureGeneratorRule
  */
 private function createRuleFromArray(string $key, array $ruleArray) : FixtureGeneratorRule
 {
     $rule = new FixtureGeneratorRule();
     if (!empty($key)) {
         $rule->setKey($key);
     }
     if (isset($ruleArray['prefix'])) {
         $rule->setPrefix($ruleArray['prefix']);
     }
     if (isset($ruleArray['strategy'])) {
         $rule->setStrategy($ruleArray['strategy']);
     }
     if (isset($ruleArray['count_repeat'])) {
         $rule->setCountRepeat($ruleArray['count_repeat']);
     }
     return $rule;
 }