Version 1
[yaffs-website] / web / modules / contrib / crop / tests / src / Kernel / CropEntityProvidersTest.php
diff --git a/web/modules/contrib/crop/tests/src/Kernel/CropEntityProvidersTest.php b/web/modules/contrib/crop/tests/src/Kernel/CropEntityProvidersTest.php
new file mode 100644 (file)
index 0000000..db33a2b
--- /dev/null
@@ -0,0 +1,64 @@
+<?php
+
+namespace Drupal\Tests\crop\Kernel;
+
+use Drupal\crop\EntityProviderNotFoundException;
+
+/**
+ * Tests entity provider plugins.
+ *
+ * @group crop
+ */
+class CropEntityProvidersTest extends CropUnitTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = ['crop', 'file', 'image', 'user', 'system'];
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function setUp() {
+    parent::setUp();
+
+    $this->container->get('entity.manager')
+      ->onEntityTypeCreate($this->container->get('entity.manager')->getDefinition('file'));
+  }
+
+  /**
+   * Tests file provider plugin.
+   */
+  public function testCropEffect() {
+    $file = $this->getTestFile();
+    $file->save();
+
+    // Create crop.
+    $values = [
+      'type' => $this->cropType->id(),
+      'entity_id' => $file->id(),
+      'entity_type' => 'file',
+      'uri' => $file->getFileUri(),
+      'x' => '190',
+      'y' => '120',
+      'width' => '50',
+      'height' => '50',
+    ];
+    /** @var \Drupal\crop\CropInterface $crop */
+    $crop = $this->container->get('entity.manager')->getStorage('crop')->create($values);
+    $crop->save();
+
+    try {
+      $provider = $crop->provider();
+      $this->assertTrue(TRUE, 'File entity provider plugin was found.');
+    }
+    catch (EntityProviderNotFoundException $e) {
+      $this->assertTrue(FALSE, 'File entity provider plugin was found.');
+    }
+
+    $this->assertEquals($provider->uri($file), $file->getFileUri(), 'File provider plugin returned correct URI.');
+  }
+
+}