resolve() public method

public resolve ( FixtureSet $fixtureSet ) : ResolvedFixtureSet
$fixtureSet Nelmio\Alice\FixtureSet
return Nelmio\Alice\Generator\ResolvedFixtureSet
Example #1
0
 public function testCanResolveAFixtureSet()
 {
     $unresolvedFixtureProphecy = $this->prophesize(FixtureInterface::class);
     $unresolvedFixtureProphecy->getId()->willReturn('Nelmio\\Entity\\User#user1');
     /** @var FixtureInterface $unresolvedFixture */
     $unresolvedFixture = $unresolvedFixtureProphecy->reveal();
     $resolvedFixtureProphecy = $this->prophesize(FixtureInterface::class);
     $resolvedFixtureProphecy->getId()->willReturn('Nelmio\\Entity\\User#user1');
     /** @var FixtureInterface $resolvedFixture */
     $resolvedFixture = $resolvedFixtureProphecy->reveal();
     $loadedParameters = new ParameterBag(['foo' => 'bar']);
     $injectedParameters = new ParameterBag(['fou' => 'baz']);
     $unresolvedFixtures = (new FixtureBag())->with($unresolvedFixture);
     $injectedObjects = new ObjectBag(['std' => new \stdClass()]);
     $set = new FixtureSet($loadedParameters, $injectedParameters, $unresolvedFixtures, $injectedObjects);
     $resolvedParameters = new ParameterBag(['foo' => 'bar', 'fou' => 'baz']);
     $parametersResolverProphecy = $this->prophesize(ParameterBagResolverInterface::class);
     $parametersResolverProphecy->resolve($loadedParameters, $injectedParameters)->willReturn($resolvedParameters);
     /** @var ParameterBagResolverInterface $parametersResolver */
     $parametersResolver = $parametersResolverProphecy->reveal();
     $resolvedFixtures = (new FixtureBag())->with($resolvedFixture);
     $fixtureResolverProphecy = $this->prophesize(FixtureBagResolverInterface::class);
     $fixtureResolverProphecy->resolve($unresolvedFixtures)->willReturn($resolvedFixtures);
     /** @var FixtureBagResolverInterface $fixtureResolver */
     $fixtureResolver = $fixtureResolverProphecy->reveal();
     $expected = new ResolvedFixtureSet($resolvedParameters, $resolvedFixtures, $injectedObjects);
     $resolver = new SimpleFixtureSetResolver($parametersResolver, $fixtureResolver);
     $actual = $resolver->resolve($set);
     $this->assertEquals($expected, $actual);
     $parametersResolverProphecy->resolve(Argument::cetera())->shouldHaveBeenCalledTimes(1);
     $fixtureResolverProphecy->resolve(Argument::any())->shouldHaveBeenCalledTimes(1);
 }