comparison core/modules/language/tests/src/Functional/LanguageConfigSchemaTest.php @ 0:4c8ae668cc8c

Initial import (non-working)
author Chris Cannam
date Wed, 29 Nov 2017 16:09:58 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:4c8ae668cc8c
1 <?php
2
3 namespace Drupal\Tests\language\Functional;
4
5 use Drupal\Tests\SchemaCheckTestTrait;
6 use Drupal\Tests\BrowserTestBase;
7
8 /**
9 * Ensures the language config schema is correct.
10 *
11 * @group language
12 */
13 class LanguageConfigSchemaTest extends BrowserTestBase {
14
15 use SchemaCheckTestTrait;
16
17 /**
18 * Modules to enable.
19 *
20 * @var array
21 */
22 public static $modules = ['language', 'menu_link_content'];
23
24 /**
25 * A user with administrative permissions.
26 *
27 * @var \Drupal\user\UserInterface
28 */
29 protected $adminUser;
30
31 /**
32 * {@inheritdoc}
33 */
34 protected function setUp() {
35 parent::setUp();
36
37 // Create user.
38 $this->adminUser = $this->drupalCreateUser(['administer languages']);
39 $this->drupalLogin($this->adminUser);
40 }
41
42 /**
43 * Tests whether the language config schema is valid.
44 */
45 public function testValidLanguageConfigSchema() {
46 // Make sure no language configuration available by default.
47 $config_data = $this->config('language.settings')->get();
48 $this->assertTrue(empty($config_data));
49
50 $settings_path = 'admin/config/regional/content-language';
51
52 // Enable translation for menu link.
53 $edit['entity_types[menu_link_content]'] = TRUE;
54 $edit['settings[menu_link_content][menu_link_content][settings][language][language_alterable]'] = TRUE;
55
56 // Enable translation for user.
57 $edit['entity_types[user]'] = TRUE;
58 $edit['settings[user][user][settings][language][language_alterable]'] = TRUE;
59 $edit['settings[user][user][settings][language][langcode]'] = 'en';
60
61 $this->drupalPostForm($settings_path, $edit, t('Save configuration'));
62
63 $config_data = $this->config('language.content_settings.menu_link_content.menu_link_content');
64 // Make sure configuration saved correctly.
65 $this->assertTrue($config_data->get('language_alterable'));
66
67 $this->assertConfigSchema(\Drupal::service('config.typed'), $config_data->getName(), $config_data->get());
68 }
69
70 }