Nelmio\Alice\Generator\Resolver\Value\Chainable\FixtureWildcardReferenceResolverTest::testReturnsARandomMatchingFixture PHP Method

testReturnsARandomMatchingFixture() public method

    public function testReturnsARandomMatchingFixture()
    {
        $value = FixtureMatchReferenceValue::createWildcardReference('dummy');
        $set = ResolvedFixtureSetFactory::create($parameters = new ParameterBag(['foo' => 'bar']), $fixtures = (new FixtureBag())->with($fixture = new DummyFixture('dummy')));
        $scope = ['val' => 'scopie'];
        $context = new GenerationContext();
        $context->markIsResolvingFixture('foo');
        $valueResolverProphecy = $this->prophesize(ValueResolverInterface::class);
        $valueResolverProphecy->resolve(new FixtureReferenceValue('dummy'), $fixture, $set, $scope, $context)->willReturn($expected = new ResolvedValueWithFixtureSet('dummy', $newSet = ResolvedFixtureSetFactory::create($parameters = new ParameterBag(['ping' => 'pong']), $fixtures = (new FixtureBag())->with($fixture))));
        /** @var ValueResolverInterface $valueResolver */
        $valueResolver = $valueResolverProphecy->reveal();
        $resolver = new FixtureWildcardReferenceResolver($valueResolver);
        $actual = $resolver->resolve($value, $fixture, $set, $scope, $context);
        $this->assertSame($expected, $actual);
        $valueResolverProphecy->resolve(Argument::cetera())->shouldHaveBeenCalledTimes(1);
    }