useContext('BasicContext', new BasicContext($parameters)); $this->useContext('LoginContext', new LoginContext($parameters)); $this->useContext('CmsFormsContext', new CmsFormsContext($parameters)); $this->useContext('CmsUiContext', new CmsUiContext($parameters)); $this->useContext('EmailContext', new EmailContext($parameters)); $fixtureContext = new FixtureContext($parameters); $fixtureContext->setFixtureFactory($this->getFixtureFactory()); $this->useContext('FixtureContext', $fixtureContext); // Use blueprints to set user name from identifier $factory = $fixtureContext->getFixtureFactory(); $blueprint = \Injector::inst()->create('FixtureBlueprint', 'SilverStripe\\Security\\Member'); $blueprint->addCallback('beforeCreate', function($identifier, &$data, &$fixtures) { if(!isset($data['FirstName'])) $data['FirstName'] = $identifier; }); $factory->define('SilverStripe\\Security\\Member', $blueprint); } public function setMinkParameters(array $parameters) { parent::setMinkParameters($parameters); if(isset($parameters['files_path'])) { $this->getSubcontext('FixtureContext')->setFilesPath($parameters['files_path']); } } /** * @return FixtureFactory */ public function getFixtureFactory() { if(!$this->fixtureFactory) { $this->fixtureFactory = \Injector::inst()->create('BehatFixtureFactory'); } return $this->fixtureFactory; } public function setFixtureFactory(FixtureFactory $factory) { $this->fixtureFactory = $factory; } }