3 namespace Drupal\Tests\contact\Functional;
5 use Drupal\Tests\BrowserTestBase;
8 * Tests contact messages with language module.
10 * This is to ensure that a contact form by default does not show the language
11 * select, but it does so when it's enabled from the content language settings
16 class ContactLanguageTest extends BrowserTestBase {
23 public static $modules = [
32 protected function setUp() {
35 // Create and log in administrative user.
36 $admin_user = $this->drupalCreateUser([
37 'access site-wide contact form',
38 'administer languages',
40 $this->drupalLogin($admin_user);
44 * Tests configuration options with language enabled.
46 public function testContactLanguage() {
47 // Ensure that contact form by default does not show the language select.
48 $this->drupalGet('contact');
49 $this->assertResponse(200, 'The page exists');
50 $this->assertNoField('edit-langcode-0-value');
52 // Enable language select from content language settings page.
53 $settings_path = 'admin/config/regional/content-language';
54 $edit['entity_types[contact_message]'] = TRUE;
55 $edit['settings[contact_message][feedback][settings][language][language_alterable]'] = TRUE;
56 $this->drupalPostForm($settings_path, $edit, t('Save configuration'));
58 // Ensure that contact form now shows the language select.
59 $this->drupalGet('contact');
60 $this->assertResponse(200, 'The page exists');
61 $this->assertField('edit-langcode-0-value');