class WebformMessageManagerTest in Webform 8.5
Same name and namespace in other branches
- 6.x tests/src/Unit/WebformMessageManagerTest.php \Drupal\Tests\webform\Unit\WebformMessageManagerTest
Tests webform message manager.
@group webform
Hierarchy
- class \Drupal\Tests\UnitTestCase extends \PHPUnit\Framework\TestCase uses PhpunitCompatibilityTrait
- class \Drupal\Tests\webform\Unit\WebformMessageManagerTest
Expanded class hierarchy of WebformMessageManagerTest
File
- tests/
src/ Unit/ WebformMessageManagerTest.php, line 24
Namespace
Drupal\Tests\webform\UnitView source
class WebformMessageManagerTest extends UnitTestCase {
/**
* Test webform message manager.
*/
public function testMessageManager() {
// Mock webform.
$webform = $this
->getMockBuilder(WebformInterface::class)
->disableOriginalConstructor()
->getMock();
$webform
->method('getSettings')
->will($this
->returnCallback(function () {
return [
WebformMessageManagerInterface::DRAFT_PENDING_SINGLE => '{single}',
WebformMessageManagerInterface::DRAFT_PENDING_MULTIPLE => '[none]',
];
}));
// Mock url.
$url = $this
->getMockBuilder('\\Drupal\\Core\\Url')
->disableOriginalConstructor()
->getMock();
$url
->method('toString')
->willReturn('http://example.com/');
/**************************************************************************/
// Mock current user.
$current_user = $this
->getMockBuilder(AccountInterface::class)
->disableOriginalConstructor()
->getMock();
// Mock config factory.
$config_factory = $this
->getConfigFactoryStub([
'webform.settings' => [
'html_editor.tidy' => TRUE,
'html_editor.element_format' => '',
'element.allowed_tags' => 'p',
],
]);
// Mock webform submission storage.
$webform_submission_storage = $this
->getMockBuilder(WebformSubmissionStorageInterface::class)
->getMock();
// Mock entity type manager.
$entity_type_manager = $this
->getMockBuilder(EntityTypeManagerInterface::class)
->getMock();
$entity_type_manager
->method('getStorage')
->willReturnMap([
[
'webform_submission',
$webform_submission_storage,
],
]);
// Mock logger.
$logger = $this
->getMockBuilder(LoggerInterface::class)
->disableOriginalConstructor()
->getMock();
// Mock renderer.
$renderer = $this
->getMockBuilder(RendererInterface::class)
->disableOriginalConstructor()
->getMock();
// Mock messenger.
$messenger = $this
->getMockBuilder(MessengerInterface::class)
->disableOriginalConstructor()
->getMock();
// Mock webform request handler.
$request_handler = $this
->getMockBuilder(WebformRequestInterface::class)
->disableOriginalConstructor()
->getMock();
$request_handler
->method('getUrl')
->willReturn($url);
// Mock webform token manager.
$token_manager = $this
->getMockBuilder(WebformTokenManagerInterface::class)
->disableOriginalConstructor()
->getMock();
$token_manager
->method('replace')
->will($this
->returnCallback(function ($text) {
return $text;
}));
// Mock Drupal's container.
$container = new ContainerBuilder();
$container
->set('string_translation', $this
->getStringTranslationStub());
$container
->set('config.factory', $config_factory);
\Drupal::setContainer($container);
// Create webform message manager.
$message_manager = new WebformMessageManager($current_user, $config_factory, $entity_type_manager, $logger, $renderer, $messenger, $request_handler, $token_manager);
// Set message manager mock webform.
$message_manager
->setWebform($webform);
/**************************************************************************/
// Check custom single message.
$expected = [
'#theme' => 'webform_html_editor_markup',
'#markup' => '{single}',
'#allowed_tags' => [
0 => 'p',
],
];
$result = $message_manager
->get(WebformMessageManagerInterface::DRAFT_PENDING_SINGLE);
$this
->assertEquals($expected, $result);
// Check [none] for multiple message returns an empty string.
$result = $message_manager
->get(WebformMessageManagerInterface::DRAFT_PENDING_MULTIPLE);
$this
->assertFalse($result);
}
}
Members
Name![]() |
Modifiers | Type | Description | Overrides |
---|---|---|---|---|
PhpunitCompatibilityTrait:: |
public | function | Returns a mock object for the specified class using the available method. | |
PhpunitCompatibilityTrait:: |
public | function | Compatibility layer for PHPUnit 6 to support PHPUnit 4 code. | |
UnitTestCase:: |
protected | property | The random generator. | |
UnitTestCase:: |
protected | property | The app root. | 1 |
UnitTestCase:: |
protected | function | Asserts if two arrays are equal by sorting them first. | |
UnitTestCase:: |
protected | function | Mocks a block with a block plugin. | 1 |
UnitTestCase:: |
protected | function | Returns a stub class resolver. | |
UnitTestCase:: |
public | function | Returns a stub config factory that behaves according to the passed array. | |
UnitTestCase:: |
public | function | Returns a stub config storage that returns the supplied configuration. | |
UnitTestCase:: |
protected | function | Sets up a container with a cache tags invalidator. | |
UnitTestCase:: |
protected | function | Gets the random generator for the utility methods. | |
UnitTestCase:: |
public | function | Returns a stub translation manager that just returns the passed string. | |
UnitTestCase:: |
public | function | Generates a unique random string containing letters and numbers. | |
UnitTestCase:: |
protected | function | 340 | |
WebformMessageManagerTest:: |
public | function | Test webform message manager. |