Nelmio\Alice\Generator\Resolver\Value\Chainable\PhpFunctionCallValueResolverTest::testReturnsResultOfTheDecoratedResolverIfFunctionIsNotAPhpNativeFunction PHP Method

testReturnsResultOfTheDecoratedResolverIfFunctionIsNotAPhpNativeFunction() public method

    public function testReturnsResultOfTheDecoratedResolverIfFunctionIsNotAPhpNativeFunction()
    {
        $value = new FunctionCallValue('foo');
        $fixture = new FakeFixture();
        $set = ResolvedFixtureSetFactory::create(new ParameterBag(['foo' => 'bar']));
        $scope = ['val' => 'scopie'];
        $context = new GenerationContext();
        $context->markIsResolvingFixture('foo');
        $decoratedResolverProphecy = $this->prophesize(ValueResolverInterface::class);
        $decoratedResolverProphecy->resolve($value, $fixture, $set, $scope, $context)->willReturn($expected = new ResolvedValueWithFixtureSet('bar', ResolvedFixtureSetFactory::create(new ParameterBag(['foo' => 'bar', 'ping' => 'pong']))));
        /** @var ValueResolverInterface $decoratedResolver */
        $decoratedResolver = $decoratedResolverProphecy->reveal();
        $resolver = new PhpFunctionCallValueResolver([], $decoratedResolver);
        $actual = $resolver->resolve($value, $fixture, $set, $scope, $context);
        $this->assertEquals($expected, $actual);
        $decoratedResolverProphecy->resolve(Argument::cetera())->shouldHaveBeenCalledTimes(1);
    }