Version 1
[yaffs-website] / web / core / modules / hal / tests / src / Kernel / FileNormalizeTest.php
diff --git a/web/core/modules/hal/tests/src/Kernel/FileNormalizeTest.php b/web/core/modules/hal/tests/src/Kernel/FileNormalizeTest.php
new file mode 100644 (file)
index 0000000..8f535c5
--- /dev/null
@@ -0,0 +1,57 @@
+<?php
+
+namespace Drupal\Tests\hal\Kernel;
+
+use Drupal\file\Entity\File;
+
+/**
+ * Tests that file entities can be normalized in HAL.
+ *
+ * @group hal
+ */
+class FileNormalizeTest extends NormalizerTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = ['file'];
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function setUp() {
+    parent::setUp();
+    $this->installEntitySchema('file');
+  }
+
+
+  /**
+   * Tests the normalize function.
+   */
+  public function testNormalize() {
+    $file_params = [
+      'filename' => 'test_1.txt',
+      'uri' => 'public://test_1.txt',
+      'filemime' => 'text/plain',
+      'status' => FILE_STATUS_PERMANENT,
+    ];
+    // Create a new file entity.
+    $file = File::create($file_params);
+    file_put_contents($file->getFileUri(), 'hello world');
+    $file->save();
+
+    $expected_array = [
+      'uri' => [
+        [
+          'value' => file_create_url($file->getFileUri())],
+      ],
+    ];
+
+    $normalized = $this->serializer->normalize($file, $this->format);
+    $this->assertEqual($normalized['uri'], $expected_array['uri'], 'URI is normalized.');
+
+  }
+
+}