/** * {@inheritdoc} */ public function load(SuiteInterface $suite, FixtureInterface $fixture, array $options) { $fixtureEvent = new FixtureEvent($suite, $fixture, $options); $this->executeBeforeFixtureListeners($suite, $fixtureEvent); $this->decoratedFixtureLoader->load($suite, $fixture, $options); $this->executeAfterFixtureListeners($suite, $fixtureEvent); }
function it_loads_suite_fixtures(FixtureLoaderInterface $fixtureLoader, SuiteInterface $suite, FixtureInterface $firstFixture, FixtureInterface $secondFixture) { $suite->getFixtures()->will(function () use($firstFixture, $secondFixture) { (yield $firstFixture->getWrappedObject() => ['options 1']); (yield $secondFixture->getWrappedObject() => ['options 2']); }); $fixtureLoader->load($suite, $firstFixture, ['options 1'])->shouldBeCalled(); $fixtureLoader->load($suite, $secondFixture, ['options 2'])->shouldBeCalled(); $this->load($suite); }
/** * {@inheritdoc} */ public function load(SuiteInterface $suite) { /** * @var FixtureInterface $fixture * @var array $fixtureOptions */ foreach ($suite->getFixtures() as $fixture => $fixtureOptions) { $this->fixtureLoader->load($suite, $fixture, $fixtureOptions); } }
function it_executes_customized_fixture_listeners(FixtureLoaderInterface $decoratedFixtureLoader, SuiteInterface $suite, FixtureInterface $fixture, BeforeFixtureListenerInterface $beforeFixtureListener, AfterFixtureListenerInterface $afterFixtureListener) { $suite->getListeners()->will(function () use($beforeFixtureListener, $afterFixtureListener) { (yield $beforeFixtureListener->getWrappedObject() => ['listener_option1' => 'listener_value1']); (yield $afterFixtureListener->getWrappedObject() => ['listener_option2' => 'listener_value2']); }); $fixtureEvent = new FixtureEvent($suite->getWrappedObject(), $fixture->getWrappedObject(), ['fixture_option' => 'fixture_value']); $beforeFixtureListener->beforeFixture($fixtureEvent, ['listener_option1' => 'listener_value1'])->shouldBeCalledTimes(1); $decoratedFixtureLoader->load($suite, $fixture, ['fixture_option' => 'fixture_value'])->shouldBeCalled(); $afterFixtureListener->afterFixture($fixtureEvent, ['listener_option2' => 'listener_value2'])->shouldBeCalledTimes(1); $this->load($suite, $fixture, ['fixture_option' => 'fixture_value']); }