View source
<?php
namespace Drupal\Tests\image_effects\Functional;
use Drupal\Tests\BrowserTestBase;
class SettingsFormTest extends BrowserTestBase {
public static $modules = [
'image_effects',
'jquery_colorpicker',
'file_mdm',
'file_mdm_exif',
'file_mdm_font',
];
public function setUp() {
parent::setUp();
$this->adminUser = $this
->drupalCreateUser([
'administer site configuration',
'administer image styles',
]);
$this
->drupalLogin($this->adminUser);
}
public function testSettingsForm() {
$admin_path = '/admin/config/media/image_effects';
$this
->drupalGet($admin_path);
$edit = [
'settings[color_selector][plugin_id]' => 'farbtastic',
];
$this
->drupalPostForm(NULL, $edit, t('Save configuration'));
$this
->assertEqual('farbtastic', \Drupal::config('image_effects.settings')
->get('color_selector.plugin_id'));
$config = \Drupal::configFactory()
->getEditable('image_effects.settings');
$config
->set('image_selector.plugin_id', 'dropdown')
->save();
$this
->drupalGet($admin_path);
$edit = [
'settings[image_selector][plugin_settings][path]' => 'private://',
];
$this
->drupalPostForm(NULL, $edit, t('Save configuration'));
$this
->assertEqual([
'path' => 'private://',
], \Drupal::config('image_effects.settings')
->get('image_selector.plugin_settings.dropdown'));
$config = \Drupal::configFactory()
->getEditable('image_effects.settings');
$config
->set('font_selector.plugin_id', 'dropdown')
->save();
$this
->drupalGet($admin_path);
$edit = [
'settings[font_selector][plugin_settings][path]' => 'public://',
];
$this
->drupalPostForm(NULL, $edit, t('Save configuration'));
$this
->assertEqual([
'path' => 'public://',
], \Drupal::config('image_effects.settings')
->get('font_selector.plugin_settings.dropdown'));
}
public function testJqueryColorpickerSelector() {
$admin_path = '/admin/config/media/image_effects';
$this
->drupalGet($admin_path);
$edit = [
'settings[color_selector][plugin_id]' => 'jquery_colorpicker',
];
$this
->drupalPostForm(NULL, $edit, t('Save configuration'));
$this
->assertEqual('jquery_colorpicker', \Drupal::config('image_effects.settings')
->get('color_selector.plugin_id'));
$this
->assertNotEqual([], \Drupal::service('module_installer')
->validateUninstall([
'jquery_colorpicker',
]));
$edit = [
'settings[color_selector][plugin_id]' => 'html_color',
];
$this
->drupalPostForm(NULL, $edit, t('Save configuration'));
$this
->assertTrue(\Drupal::service('module_installer')
->uninstall([
'jquery_colorpicker',
]));
}
}