public function testLoadFixture() { $expects = array('user' => array('properties' => array('class' => 'DavidBadura\\Fixtures\\TestObjects\\User', 'constructor' => array(0 => 'name', 1 => 'email')), 'data' => array('david' => array('name' => 'David Badura', 'email' => '*****@*****.**', 'group' => array(0 => '@group:owner', 1 => '@group:developer'), 'role' => array(0 => '@role:admin')), 'other' => array('name' => 'Somebody', 'email' => '*****@*****.**', 'group' => array(0 => '@group:developer'), 'role' => array(0 => '@role:user'))))); $collection = FixtureCollection::create($expects); $data = $this->loader->load(__DIR__ . '/../TestResources/fixtures/user.yml'); $this->assertEquals($collection, $data); }
public function testLoadFixtures() { $user = array('user' => array('properties' => array('class' => 'DavidBadura\\Fixtures\\TestObjects\\User', 'constructor' => array(0 => 'name', 1 => 'email')), 'data' => array('david' => array('name' => 'David Badura', 'email' => '*****@*****.**', 'group' => array(0 => '@group:owner', 1 => '@group:developer'), 'role' => array(0 => '@role:admin')), 'other' => array('name' => 'Somebody', 'email' => '*****@*****.**', 'group' => array(0 => '@group:developer'), 'role' => array(0 => '@role:user'))))); $group = array('group' => array('properties' => array('class' => 'DavidBadura\\Fixtures\\TestObjects\\Group'), 'data' => array('developer' => array('name' => 'Developer', 'leader' => '@@user:david')))); $role = array('role' => array('properties' => array('class' => 'DavidBadura\\Fixtures\\TestObjects\\Role'), 'data' => array('admin' => array('name' => 'Admin'), 'user' => array('name' => 'User')))); $this->assertEquals(FixtureCollection::create($user), $this->loader->load(__DIR__ . '/../TestResources/chainFixtures/user.yml')); $this->assertEquals(FixtureCollection::create($group), $this->loader->load(__DIR__ . '/../TestResources/chainFixtures/groups.json')); $this->assertEquals(FixtureCollection::create($role), $this->loader->load(__DIR__ . '/../TestResources/chainFixtures/roles.php')); }
/** * * @param mixed $path * @param array $options * @return FixtureCollection */ public function load($path, array $options = array()) { $collection = $this->callback($path, $options); if (is_array($collection)) { return FixtureCollection::create($collection); } elseif ($collection instanceof FixtureCollection) { return $collection; } throw new FixtureException('the callback function must return a FixtureCollection instance or a fixture array'); }
public function testServiceProvider() { $serviceProvicer = new \DavidBadura\Fixtures\ServiceProvider\ServiceProvider(); $fixtureManager = new FixtureManagerPublicMethods($this->loader, $this->executor, $this->persister, $serviceProvicer, $this->eventDispatcher); $faker = \Faker\Factory::create(); $fixtureManager->addService('faker', $faker); $data = array('user' => array('data' => array('user{0..2}' => array('name' => '<faker::name()>', 'email' => '<faker::email()>', 'random' => 'blubbtest', 'text' => '<faker::sentence(3)>')))); $collection = FixtureCollection::create($data); $fixtureManager->publicReplaceMultiPlaceholder($collection); $fixtureManager->publicReplaceServicePlaceholder($collection); $fixture = $collection->get('user'); $user0 = $fixture->get('user0')->getData(); $user1 = $fixture->get('user1')->getData(); $user2 = $fixture->get('user2')->getData(); $this->assertEquals(3, count($fixture)); $this->assertTrue(strpos($user0['email'], '@') !== false); $this->assertTrue(strpos($user1['email'], '@') !== false); $this->assertTrue(strpos($user2['email'], '@') !== false); }
/** * * @param string $path * @param array $options * @return FixtureCollection */ public function load($path, array $options = array()) { $data = json_decode(file_get_contents($path), true); return FixtureCollection::create($data); }
/** * * @param string $path * @param array $options * @return FixtureCollection */ public function load($path, array $options = array()) { $data = Parser::fromFile($path); return FixtureCollection::create($data); }
/** * * @param mixed $path * @param array $options * @return FixtureCollection */ public function load($path, array $options = array()) { $data = (include $path); return FixtureCollection::create($data); }
/** * * @param string $path * @param array $options * @return FixtureCollection */ public function load($path, array $options = array()) { $data = Yaml::parse(file_get_contents($path)); return FixtureCollection::create($data); }