LingotekSettingsTabAccountFormTest.php in Lingotek Translation 3.4.x
File
tests/src/Unit/Form/LingotekSettingsTabAccountFormTest.php
View source
<?php
namespace Drupal\Tests\lingotek\Unit\Form;
use Drupal\Core\Config\Config;
use Drupal\Core\Config\ConfigFactoryInterface;
use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\Messenger\MessengerInterface;
use Drupal\Core\Routing\UrlGeneratorInterface;
use Drupal\Core\Utility\LinkGeneratorInterface;
use Drupal\lingotek\Form\LingotekSettingsTabAccountForm;
use Drupal\lingotek\LingotekFilterManagerInterface;
use Drupal\lingotek\LingotekInterface;
use Drupal\Tests\UnitTestCase;
class LingotekSettingsTabAccountFormTest extends UnitTestCase {
protected $lingotek;
protected $configFactory;
protected $lingotekFilterManager;
protected $urlGenerator;
protected $linkGenerator;
protected $form;
protected function setUp() : void {
parent::setUp();
$this->lingotek = $this
->createMock(LingotekInterface::class);
$this->configFactory = $this
->createMock(ConfigFactoryInterface::class);
$this->lingotekFilterManager = $this
->createMock(LingotekFilterManagerInterface::class);
$this->urlGenerator = $this
->createMock(UrlGeneratorInterface::class);
$this->linkGenerator = $this
->createMock(LinkGeneratorInterface::class);
$messenger = $this
->createMock(MessengerInterface::class);
$this->form = new LingotekSettingsTabAccountForm($this->lingotek, $this->configFactory, $this->lingotekFilterManager, $this->urlGenerator, $this->linkGenerator);
$this->form
->setStringTranslation($this
->getStringTranslationStub());
$this->form
->setMessenger($messenger);
}
public function testGetFormId() {
$form_id = $this->form
->getFormID();
$this
->assertSame('lingotek.settings_tab_account_form', $form_id);
}
public function testBuildForm() {
$config = $this
->createMock(Config::class);
$config
->expects($this
->any())
->method('get')
->willReturnMap([
[
'account.login_id',
'test@example.com',
],
[
'account.access_token',
'ef4b4d69-5be2-4513-b4f1-7e0f6f9511a0',
],
]);
$this->configFactory
->expects($this
->once())
->method('get')
->with('lingotek.settings')
->willReturn($config);
$this->lingotekFilterManager
->expects($this
->once())
->method('getLocallyAvailableFilters')
->willReturn([
'filter 1' => 'filter-uuid-1',
]);
$build = [];
$form_state = $this
->createMock(FormStateInterface::class);
$build = $this->form
->buildForm($build, $form_state);
$this
->assertSame('ef4b4d69-5be2-4513-b4f1-7e0f6f9511a0', $build['account']['account_table']['token_row'][1]['#markup']);
}
public function testDisconnect() {
$build = [];
$form_state = $this
->createMock(FormStateInterface::class);
$form_state
->expects($this
->once())
->method('setRedirect')
->with('lingotek.account_disconnect');
$build = $this->form
->disconnect($build, $form_state);
}
}