/**
  * {@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);
 }
Beispiel #3
0
 /**
  * {@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']);
 }