annotate core/modules/user/tests/src/Functional/UserCreateFailMailTest.php @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents 4c8ae668cc8c
children
rev   line source
Chris@0 1 <?php
Chris@0 2
Chris@0 3 namespace Drupal\Tests\user\Functional;
Chris@0 4
Chris@0 5 use Drupal\Tests\BrowserTestBase;
Chris@0 6
Chris@0 7 /**
Chris@0 8 * Tests the create user administration page.
Chris@0 9 *
Chris@0 10 * @group user
Chris@0 11 */
Chris@0 12 class UserCreateFailMailTest extends BrowserTestBase {
Chris@0 13
Chris@0 14 /**
Chris@0 15 * Modules to enable
Chris@0 16 *
Chris@0 17 * @var array
Chris@0 18 */
Chris@0 19 public static $modules = ['system_mail_failure_test'];
Chris@0 20
Chris@0 21 /**
Chris@0 22 * Tests the create user administration page.
Chris@0 23 */
Chris@0 24 public function testUserAdd() {
Chris@0 25 $user = $this->drupalCreateUser(['administer users']);
Chris@0 26 $this->drupalLogin($user);
Chris@0 27
Chris@0 28 // Replace the mail functionality with a fake, malfunctioning service.
Chris@0 29 $this->config('system.mail')->set('interface.default', 'test_php_mail_failure')->save();
Chris@0 30 // Create a user, but fail to send an email.
Chris@0 31 $name = $this->randomMachineName();
Chris@0 32 $edit = [
Chris@0 33 'name' => $name,
Chris@0 34 'mail' => $this->randomMachineName() . '@example.com',
Chris@0 35 'pass[pass1]' => $pass = $this->randomString(),
Chris@0 36 'pass[pass2]' => $pass,
Chris@0 37 'notify' => TRUE,
Chris@0 38 ];
Chris@0 39 $this->drupalPostForm('admin/people/create', $edit, t('Create new account'));
Chris@0 40
Chris@0 41 $this->assertText(t('Unable to send email. Contact the site administrator if the problem persists.'));
Chris@0 42 $this->assertNoText(t('A welcome message with further instructions has been emailed to the new user @name.', ['@name' => $edit['name']]));
Chris@0 43 }
Chris@0 44
Chris@0 45 }