public function testItWillAddToErrorBagInvalidAttributeError()
 {
     $data = ['type' => 'post', 'attributes' => ['title000000' => 'My first blog post', 'content' => 'Ever heard of Lorem Ipsum?', 'author' => 1, 'comments' => []]];
     try {
         DataAssertions::assert($data, $this->serializer, Post::class, $this->errorBag);
     } catch (DataException $e) {
     }
     $this->assertArrayContainsExpectedErrorType(InvalidAttributeError::class);
 }
 /**
  * @param array             $data
  * @param JsonApiSerializer $serializer
  * @param string            $className
  * @param ErrorBag          $errorBag
  *
  * @throws DataException
  */
 public static function assertPost($data, JsonApiSerializer $serializer, $className, ErrorBag $errorBag)
 {
     try {
         DataAssertions::assert($data, $serializer, $className, $errorBag);
         self::assertRelationshipData($data, $serializer, $errorBag);
     } catch (DataException $e) {
     }
     $missing = self::missingCreationAttributes($data, $serializer);
     if (false === empty($missing)) {
         foreach ($missing as $attribute) {
             $errorBag[] = new MissingAttributeError($attribute);
         }
     }
     if ($errorBag->count() > 0) {
         throw new DataException();
     }
 }