/** * @expectedException \Nelmio\Alice\Throwable\Exception\Generator\Resolver\UnresolvableValueException * @expectedExceptionMessage Expected fixture reference value "@bob" to be resolved into a string. Got "(integer) 200" instead. */ public function testThrowsAnExceptionIfResolvedIdIsInvalid() { $idValue = new DummyValue('bob'); $value = new FixtureReferenceValue($idValue); $dummyFixture = new SimpleFixture('dummy', 'Dummy', SpecificationBagFactory::create()); $set = ResolvedFixtureSetFactory::create(); $scope = []; $context = new GenerationContext(); $valueResolverProphecy = $this->prophesize(ValueResolverInterface::class); $valueResolverProphecy->resolve(Argument::cetera())->willReturn(new ResolvedValueWithFixtureSet(200, ResolvedFixtureSetFactory::create())); /** @var ValueResolverInterface $valueResolver */ $valueResolver = $valueResolverProphecy->reveal(); $resolver = new UnresolvedFixtureReferenceIdResolver(new FakeChainableValueResolver(), $valueResolver); $resolver->resolve($value, $dummyFixture, $set, $scope, $context); }