Yaffs site version 1.1
[yaffs-website] / web / modules / contrib / blazy / tests / src / Kernel / Form / BlazySettingsFormTest.php
1 <?php
2
3 namespace Drupal\Tests\blazy\Kernel\Form;
4
5 use Drupal\Core\Form\FormInterface;
6 use Drupal\Core\Form\FormState;
7 use Drupal\KernelTests\KernelTestBase;
8 use Drupal\blazy_ui\Form\BlazySettingsForm;
9
10 /**
11  * Tests the Blazy UI settings form.
12  *
13  * @coversDefaultClass \Drupal\blazy_ui\Form\BlazySettingsForm
14  *
15  * @group blazy
16  */
17 class BlazySettingsFormTest extends KernelTestBase {
18
19   /**
20    * The Blazy form object under test.
21    *
22    * @var \Drupal\blazy_ui\Form\BlazySettingsForm
23    */
24   protected $blazySettingsForm;
25
26   /**
27    * Modules to enable.
28    *
29    * @var array
30    */
31   public static $modules = [
32     'system',
33     'file',
34     'image',
35     'blazy',
36     'blazy_ui',
37   ];
38
39   /**
40    * {@inheritdoc}
41    *
42    * @covers ::__construct
43    */
44   protected function setUp() {
45     parent::setUp();
46
47     $this->installConfig(static::$modules);
48
49     $this->blazyManager = $this->container->get('blazy.manager');
50
51     $this->blazySettingsForm = new BlazySettingsForm(
52       $this->blazyManager->getConfigFactory()
53     );
54   }
55
56   /**
57    * Tests for \Drupal\blazy_ui\Form\BlazySettingsForm.
58    *
59    * @covers ::getFormId
60    * @covers ::getEditableConfigNames
61    * @covers ::buildForm
62    * @covers ::submitForm
63    */
64   public function testBlazySettingsForm() {
65     // Emulate a form state of a submitted form.
66     $form_state = (new FormState())->setValues([
67       'admin_css'        => TRUE,
68       'responsive_image' => FALSE,
69     ]);
70
71     $this->assertInstanceOf(FormInterface::class, $this->blazySettingsForm);
72     $this->assertTrue($this->blazyManager->getConfigFactory()->get('blazy.settings')->get('admin_css'));
73
74     $id = $this->blazySettingsForm->getFormId();
75     $this->assertEquals('blazy_settings', $id);
76
77     $method = new \ReflectionMethod(BlazySettingsForm::class, 'getEditableConfigNames');
78     $method->setAccessible(TRUE);
79
80     $name = $method->invoke($this->blazySettingsForm);
81     $this->assertEquals(['blazy.settings'], $name);
82
83     $form = $this->blazySettingsForm->buildForm([], $form_state);
84     $this->blazySettingsForm->submitForm($form, $form_state);
85   }
86
87 }
88
89 namespace Drupal\blazy_ui\Form;
90
91 if (!function_exists('drupal_set_message')) {
92
93   /**
94    * Dummy function.
95    */
96   function drupal_set_message() {
97     // Empty block to satisfy coder.
98   }
99
100 }