3 namespace Drupal\Tests\blazy\Kernel\Form;
5 use Drupal\Core\Form\FormInterface;
6 use Drupal\Core\Form\FormState;
7 use Drupal\KernelTests\KernelTestBase;
8 use Drupal\blazy_ui\Form\BlazySettingsForm;
11 * Tests the Blazy UI settings form.
13 * @coversDefaultClass \Drupal\blazy_ui\Form\BlazySettingsForm
17 class BlazySettingsFormTest extends KernelTestBase {
20 * The Blazy form object under test.
22 * @var \Drupal\blazy_ui\Form\BlazySettingsForm
24 protected $blazySettingsForm;
31 public static $modules = [
42 * @covers ::__construct
44 protected function setUp() {
47 $this->installConfig(static::$modules);
49 $this->blazyManager = $this->container->get('blazy.manager');
51 $this->blazySettingsForm = new BlazySettingsForm(
52 $this->blazyManager->getConfigFactory()
57 * Tests for \Drupal\blazy_ui\Form\BlazySettingsForm.
60 * @covers ::getEditableConfigNames
62 * @covers ::submitForm
64 public function testBlazySettingsForm() {
65 // Emulate a form state of a submitted form.
66 $form_state = (new FormState())->setValues([
68 'responsive_image' => FALSE,
71 $this->assertInstanceOf(FormInterface::class, $this->blazySettingsForm);
72 $this->assertTrue($this->blazyManager->getConfigFactory()->get('blazy.settings')->get('admin_css'));
74 $id = $this->blazySettingsForm->getFormId();
75 $this->assertEquals('blazy_settings', $id);
77 $method = new \ReflectionMethod(BlazySettingsForm::class, 'getEditableConfigNames');
78 $method->setAccessible(TRUE);
80 $name = $method->invoke($this->blazySettingsForm);
81 $this->assertEquals(['blazy.settings'], $name);
83 $form = $this->blazySettingsForm->buildForm([], $form_state);
84 $this->blazySettingsForm->submitForm($form, $form_state);
89 namespace Drupal\blazy_ui\Form;
91 if (!function_exists('drupal_set_message')) {
96 function drupal_set_message() {
97 // Empty block to satisfy coder.