public function SwiftMailerSettingsTest::testTransportSettings in Swift Mailer 8.2
Tests the Transport Settings.
File
- tests/
src/ FunctionalJavascript/ SwiftMailerSettingsTest.php, line 51
Class
- SwiftMailerSettingsTest
- Tests the Transport and Message Settings UI.
Namespace
Drupal\Tests\swiftmailer\FunctionalJavascriptCode
public function testTransportSettings() {
// Unauthorized user should not have access.
$this
->drupalGet('admin/config/swiftmailer/transport');
$this
->assertSession()
->pageTextContains('You are not authorized to access this page.');
// Login..
$this
->drupalLogin($this->adminUser);
$this
->drupalGet('admin/config/swiftmailer/transport');
$this
->assertSession()
->pageTextContains('Transport types');
$session = $this
->getSession();
$page = $session
->getPage();
// Select Smtp tranport option.
$page
->fillField('transport[type]', 'smtp');
$this
->assertSession()
->waitForElementVisible('css', '.js-form-item-transport-configuration-smtp');
$page
->fillField('transport[configuration][smtp][credential_provider]', 'swiftmailer');
$page
->fillField('transport[configuration][smtp][credentials][swiftmailer][username]', 'example');
$page
->fillField('transport[configuration][smtp][credentials][swiftmailer][password]', 'pass');
$this
->submitForm([], 'Save configuration');
$this
->assertSession()
->pageTextContains('using the SMTP transport type.');
// Loading configuration to check if is set up correctly.
$config = $this
->config('swiftmailer.transport');
$transport = $config
->get('transport');
$provider = $config
->get('smtp_credential_provider');
$user = $config
->get('smtp_credentials.swiftmailer.username');
$password = $config
->get('smtp_credentials.swiftmailer.password');
$this
->assertEqual($transport, 'smtp');
$this
->assertEqual($provider, 'swiftmailer');
$this
->assertEqual($user, 'example');
$this
->assertEqual($password, 'pass');
// Select Spool tranport option.
$page
->fillField('transport[type]', 'spool');
$this
->assertSession()
->waitForElementVisible('css', '.js-form-item-transport-configuration-spool');
$page
->fillField('transport[configuration][spool][directory]', 'aaaaa');
$this
->submitForm([], 'Save configuration');
$this
->assertSession()
->pageTextContains('using the Spool transport type.');
// Loading configuration to check if is set up correctly.
$config = $this
->config('swiftmailer.transport');
$transport = $config
->get('transport');
$directory = $config
->get('spool_directory');
$this
->assertEqual($transport, 'spool');
$this
->assertEqual($directory, 'aaaaa');
// Select Sendmail tranport option.
$page
->fillField('transport[type]', 'sendmail');
$this
->assertSession()
->waitForElementVisible('css', '.js-form-item-transport-configuration-sendmail');
$page
->fillField('transport[configuration][sendmail][path]', 'bbbbb');
$this
->submitForm([], 'Save configuration');
$this
->assertSession()
->pageTextContains('using the Sendmail transport type.');
// Loading configuration to check if is set up correctly.
$config = $this
->config('swiftmailer.transport');
$transport = $config
->get('transport');
$path = $config
->get('sendmail_path');
$this
->assertEqual($transport, 'sendmail');
$this
->assertEqual($path, 'bbbbb');
}