public function PaymentReferenceBaseTest::testGetPluginSelector in Payment 8.2
@covers ::getPluginSelector
@dataProvider providerGetPluginSelector
File
- tests/
src/ Unit/ Element/ PaymentReferenceBaseTest.php, line 544
Class
- PaymentReferenceBaseTest
- @coversDefaultClass \Drupal\payment\Element\PaymentReferenceBase
Namespace
Drupal\Tests\payment\Unit\ElementCode
public function testGetPluginSelector($limit_allowed_plugin_ids) {
$payment = $this
->createMock(PaymentInterface::class);
$payment
->expects($this
->once())
->method('createDuplicate')
->willReturnSelf();
$plugin_selector_plugin_id = $this
->randomMachineName();
$required = $this
->randomMachineName();
$element = array(
'#limit_allowed_plugin_ids' => $limit_allowed_plugin_ids,
'#name' => $this
->randomMachineName(),
'#plugin_selector_id' => $plugin_selector_plugin_id,
'#prototype_payment' => $payment,
'#required' => $required,
);
$form_state = new FormState();
$plugin_selector = $this
->createMock(PluginSelectorInterface::class);
$plugin_selector
->expects($this
->once())
->method('setRequired')
->with($required);
$this->pluginSelectorManager
->expects($this
->once())
->method('createInstance')
->with($plugin_selector_plugin_id)
->willReturn($plugin_selector);
$method = new \ReflectionMethod($this->sut, 'getPluginSelector');
$method
->setAccessible(TRUE);
$retrieved_plugin_selector = $method
->invoke($this->sut, $element, $form_state);
$this
->assertInstanceOf(PluginSelectorInterface::class, $retrieved_plugin_selector);
$this
->assertSame($retrieved_plugin_selector, $method
->invoke($this->sut, $element, $form_state));
}