Version 1
[yaffs-website] / vendor / drupal / console / Test / Command / GeneratorPluginFieldCommandTest.php
diff --git a/vendor/drupal/console/Test/Command/GeneratorPluginFieldCommandTest.php b/vendor/drupal/console/Test/Command/GeneratorPluginFieldCommandTest.php
new file mode 100644 (file)
index 0000000..1b39b28
--- /dev/null
@@ -0,0 +1,90 @@
+<?php
+/**
+ * @file
+ * Contains \Drupal\Console\Test\Command\GeneratorPluginFieldCommandTest.
+ */
+
+namespace Drupal\Console\Test\Command;
+
+use Drupal\Console\Command\Generate\PluginFieldCommand;
+use Symfony\Component\Console\Tester\CommandTester;
+use Drupal\Console\Test\DataProvider\PluginFieldDataProviderTrait;
+
+class GeneratorPluginFieldCommandTest extends GenerateCommandTest
+{
+    use PluginFieldDataProviderTrait;
+    
+    /**
+     * Plugin block generator test
+     *
+     * @param $module
+     * @param $type_class_name
+     * @param $type_label
+     * @param $type_plugin_id
+     * @param $type_description
+     * @param $formatter_class_name
+     * @param $formatter_label
+     * @param $formatter_plugin_id
+     * @param $widget_class_name
+     * @param $widget_label
+     * @param $widget_plugin_id
+     * @param $field_type
+     * @param $default_widget
+     * @param $default_formatter
+     *
+     * @dataProvider commandData
+     */
+    public function testGeneratePluginField(
+        $module,
+        $type_class_name,
+        $type_label,
+        $type_plugin_id,
+        $type_description,
+        $formatter_class_name,
+        $formatter_label,
+        $formatter_plugin_id,
+        $widget_class_name,
+        $widget_label,
+        $widget_plugin_id,
+        $field_type,
+        $default_widget,
+        $default_formatter
+    ) {
+        $command = new PluginFieldCommand($this->getHelperSet());
+        $command->setHelperSet($this->getHelperSet());
+        $command->setGenerator($this->getGenerator());
+
+        $commandTester = new CommandTester($command);
+
+        $code = $commandTester->execute(
+            [
+              '--module'                => $module,
+              '--type-class'            => $type_class_name,
+              '--type-label'            => $type_label,
+              '--type-plugin-id'        => $type_plugin_id,
+              '--type-description'      => $type_description,
+              '--formatter-class'       => $formatter_class_name,
+              '--formatter-label'       => $formatter_label,
+              '--formatter-plugin-id'   => $formatter_plugin_id,
+              '--widget-class'          => $widget_class_name,
+              '--widget-label'          => $widget_label,
+              '--widget-plugin-id'      => $widget_plugin_id,
+              '--field-type'            => $field_type,
+              '--default-widget'        => $default_widget,
+              '--default-formatter'     => $default_formatter
+            ],
+            ['interactive' => false]
+        );
+
+        $this->assertEquals(0, $code);
+    }
+
+    private function getGenerator()
+    {
+        return $this
+            ->getMockBuilder('Drupal\Console\Generator\PluginFieldTypeGenerator')
+            ->disableOriginalConstructor()
+            ->setMethods(['generate'])
+            ->getMock();
+    }
+}