Example #1
0
 /**
  * Get 'real' fieldname.
  *
  * This will pass the Field through the alias resolver.
  *
  * @param string $name
  *
  * @throws UnknownFieldException When there is no field found
  * @throws \LogicException       When there is no FieldSet configured
  *
  * @return string
  */
 protected function getFieldName($name)
 {
     $fieldSet = $this->config->getFieldSet();
     $name = $this->aliasResolver->resolveFieldName($fieldSet, $name);
     if (!$fieldSet->has($name)) {
         throw new UnknownFieldException($name);
     }
     return $name;
 }
 public function it_resolves_a_field_with_multiple_resolvers(FieldSet $fieldSet, FieldAliasResolverInterface $resolver, FieldAliasResolverInterface $resolver2)
 {
     $this->beConstructedWith([$resolver, $resolver2]);
     $resolver->resolveFieldName($fieldSet, 'user')->willReturn('user_id');
     $resolver->resolveFieldName($fieldSet, 'id')->willReturn('id');
     $resolver->resolveFieldName($fieldSet, 'name')->willReturn(null);
     $resolver2->resolveFieldName($fieldSet, 'id')->willReturn('my_id');
     $resolver2->resolveFieldName($fieldSet, 'name')->willReturn(null);
     $this->resolveFieldName($fieldSet, 'user')->shouldReturn('user_id');
     $this->resolveFieldName($fieldSet, 'id')->shouldReturn('my_id');
     $this->resolveFieldName($fieldSet, 'name')->shouldReturn('name');
 }