SimplenewsDemoTest.php in Simplenews 8
File
modules/simplenews_demo/src/Tests/SimplenewsDemoTest.php
View source
<?php
namespace Drupal\simplenews_demo\Tests;
use Drupal\simpletest\WebTestBase;
class SimplenewsDemoTest extends WebTestBase {
public static $modules = [];
public function setUp() {
parent::setUp();
\Drupal::service('theme_handler')
->install(array(
'bartik',
));
$theme_settings = $this
->config('system.theme');
$theme_settings
->set('default', 'bartik')
->save();
\Drupal::service('module_installer')
->install([
'simplenews_demo',
]);
$this
->drupalLogin($this
->drupalCreateUser([
'administer simplenews subscriptions',
'send newsletter',
'administer newsletters',
'administer simplenews settings',
]));
}
protected function testInstalled() {
$this
->assertText('Simplenews multiple subscriptions');
$this
->assertText('Stay informed - subscribe to our newsletters.');
$this
->assertText('Simplenews subscription');
$this
->assertText('Stay informed - subscribe to our newsletter.');
$this
->drupalGet('admin/config/services/simplenews');
$this
->clickLink(t('Edit'));
$this
->assertEqual('This is an example newsletter. Change it.', (string) $this
->xpath('//textarea[@id="edit-description"]')[0]);
$from_name = $this
->xpath('//input[@id="edit-from-name"]')[0];
$from_address = $this
->xpath('//input[@id="edit-from-address"]')[0];
$this
->assertEqual('Drupal', (string) $from_name['value']);
$this
->assertEqual('simpletest@example.com', (string) $from_address['value']);
$this
->drupalGet('admin/config/services/simplenews');
$this
->assertText(t('Press releases'));
$this
->assertText(t('Special offers'));
$this
->assertText(t('Weekly content update'));
$this
->drupalGet('admin/content/simplenews');
$this
->assertText('Scheduled weekly content newsletter issue');
$this
->assertText('Sent press releases');
$this
->assertText('Unpublished press releases');
$this
->assertText('Pending special offers');
$this
->assertText('Stopped special offers');
$this
->assertText('Scheduled weekly content newsletter issue - Week ');
$this
->assertRaw(t('Newsletter issue sent to 2 subscribers.'));
$this
->assertRaw(t('Newsletter issue is pending, 0 mails sent out of 0.'));
$this
->assertRaw(t('Newsletter issue sent to 1 subscribers.'));
$this
->drupalGet('admin/people/simplenews');
$this
->assertText('a@example.com');
$this
->assertText('b@example.com');
$this
->assertText('demouser1@example.com');
}
}