public function AmountFormattingFormTest::testBuildForm in Currency 8.3
Same name in this branch
- 8.3 tests/src/Unit/Controller/AmountFormattingFormTest.php \Drupal\Tests\currency\Unit\Controller\AmountFormattingFormTest::testBuildForm()
- 8.3 tests/src/Unit/Form/AmountFormattingFormTest.php \Drupal\Tests\currency\Unit\Form\AmountFormattingFormTest::testBuildForm()
@covers ::buildForm
File
- tests/
src/ Unit/ Controller/ AmountFormattingFormTest.php, line 103
Class
- AmountFormattingFormTest
- @coversDefaultClass \Drupal\currency\Form\AmountFormattingForm
Namespace
Drupal\Tests\currency\Unit\ControllerCode
public function testBuildForm() {
$form = array();
$form_state = $this
->createMock(FormStateInterface::class);
$definitions = array(
'foo' => array(
'label' => $this
->randomMachineName(),
),
);
$plugin_id = $this
->randomMachineName();
$this->currencyAmountFormatterManager
->expects($this
->once())
->method('getDefinitions')
->willReturn($definitions);
$config = $this
->getMockBuilder(Config::class)
->disableOriginalConstructor()
->getMock();
$config
->expects($this
->once())
->method('get')
->with('plugin_id')
->willReturn($plugin_id);
$this->configFactory
->expects($this
->once())
->method('getEditable')
->with('currency.amount_formatting')
->willReturn($config);
$this->stringTranslation
->expects($this
->any())
->method('translate')
->will($this
->returnArgument(0));
$expected = array(
'#default_value' => $plugin_id,
'#options' => array(
'foo' => $definitions['foo']['label'],
),
'#process' => [
[
Radios::class,
'processRadios',
],
[
$this->controller,
'processPluginOptions',
],
],
'#type' => 'radios',
);
$build = $this->controller
->buildForm($form, $form_state);
unset($build['default_plugin_id']['#title']);
$this
->assertSame($expected, $build['default_plugin_id']);
}