/**
  * @expectedException \GoIntegro\Hateoas\JsonApi\Serializer\InvalidFieldException
  */
 public function testSerializingWithUnknownFieldThrowsException()
 {
     /* Given... (Fixture) */
     $metadata = Stub::makeEmpty('GoIntegro\\Hateoas\\Metadata\\Resource\\ResourceMetadata', ['type' => 'type', 'subtype' => 'users', 'isRelationship' => function () {
         return false;
     }]);
     $entityResource = Stub::makeEmpty('GoIntegro\\Hateoas\\JsonApi\\EntityResource', ['id' => '10', 'getMetadata' => function () use($metadata) {
         return $metadata;
     }, 'isFieldBlacklisted' => function () {
         return false;
     }, 'callGetter' => function () {
         throw new \Exception();
     }]);
     $serializer = new ResourceObjectSerializer($entityResource, self::buildSecurityContext(), ['id']);
     /* When... (Action) */
     $serializer->serialize();
 }
 /**
  * @param DocumentResource $resource
  * @return array
  */
 protected function serializeResourceObject(EntityResource $resource)
 {
     $metadata = $resource->getMetadata();
     $fields = isset($this->document->sparseFields[$metadata->type]) ? $this->document->sparseFields[$metadata->type] : [];
     $serializer = new ResourceObjectSerializer($resource, $this->securityContext, $fields);
     return $serializer->serialize();
 }
예제 #3
0
 /**
  * @param DocumentResource $resource
  * @return array
  */
 protected function serializeResourceObject(DocumentResource $resource, array $fields = [])
 {
     $serializer = new Serializer\ResourceObjectSerializer($resource, $this->securityContext, $fields);
     return $serializer->serialize();
 }