TmgmtSmartlingLogSettingsTest.php in TMGMT Translator Smartling 8.4
File
modules/tmgmt_smartling_log_settings/tests/src/Functional/TmgmtSmartlingLogSettingsTest.php
View source
<?php
namespace Drupal\Tests\tmgmt_smartling_log_settings\Functional;
use Drupal\Tests\BrowserTestBase;
class TmgmtSmartlingLogSettingsTest extends BrowserTestBase {
public static $modules = [
'tmgmt_smartling_log_settings',
];
protected $defaultTheme = 'stark';
protected function setUp() {
parent::setUp();
$admin_user = $this
->drupalCreateUser([
'administer site configuration',
]);
$this
->drupalLogin($admin_user);
}
public function testValidSettingsNotEmptyConfig() {
$this
->drupalPostForm('admin/config/development/logging', [
'tmgmt_smartling_log_settings_severity_mapping' => "smartling_api: info\r\ntmgmt_smartling: notice",
], t('Save configuration'));
$this
->assertSession()
->pageTextContains(t('The configuration options have been saved.'));
}
public function testValidSettingsEmptyConfig() {
$this
->drupalPostForm('admin/config/development/logging', [
'tmgmt_smartling_log_settings_severity_mapping' => "",
], t('Save configuration'));
$this
->assertSession()
->pageTextContains(t('The configuration options have been saved.'));
}
public function testSettingsInvalidYaml() {
$this
->drupalPostForm('admin/config/development/logging', [
'tmgmt_smartling_log_settings_severity_mapping' => "smartling_api: info\r\n- tmgmt_smartling: notice",
], t('Save configuration'));
$this
->assertSession()
->pageTextContains(t('Config must be a valid yaml.'));
}
public function testSettingsInvalidConfigNotArray() {
$this
->drupalPostForm('admin/config/development/logging', [
'tmgmt_smartling_log_settings_severity_mapping' => "smartling_api info",
], t('Save configuration'));
$this
->assertSession()
->pageTextContains(t('Invalid config format.'));
}
public function testSettingsInvalidConfigKeysAreNotStrings() {
$this
->drupalPostForm('admin/config/development/logging', [
'tmgmt_smartling_log_settings_severity_mapping' => "- smartling_api: info\r\n- tmgmt_smartling: notice",
], t('Save configuration'));
$this
->assertSession()
->pageTextContains(t('Invalid config format.'));
}
public function testSettingsInvalidConfigOneOrMoreValuesAreNotValidSeverityLevel() {
$this
->drupalPostForm('admin/config/development/logging', [
'tmgmt_smartling_log_settings_severity_mapping' => "smartling_api: info\r\ntmgmt_smartling: severity_level",
], t('Save configuration'));
$this
->assertSession()
->pageTextContains(t('Invalid config format.'));
}
}