You are here

public function FormCacheTest::testLoadCachedFormStateWithFiles in Drupal 8

@covers ::loadCachedFormState

File

core/tests/Drupal/Tests/Core/Form/FormCacheTest.php, line 289

Class

FormCacheTest
@coversDefaultClass \Drupal\Core\Form\FormCache @group Form

Namespace

Drupal\Tests\Core\Form

Code

public function testLoadCachedFormStateWithFiles() {
  $form_build_id = 'the_form_build_id';
  $form_state = new FormState();
  $cached_form = [
    '#cache_token' => NULL,
  ];
  $this->formCacheStore
    ->expects($this
    ->once())
    ->method('get')
    ->with($form_build_id)
    ->willReturn($cached_form);
  $this->account
    ->expects($this
    ->once())
    ->method('isAnonymous')
    ->willReturn(TRUE);
  $cached_form_state = [
    'build_info' => [
      'files' => [
        [
          'module' => 'a_module',
          'type' => 'the_type',
          'name' => 'some_name',
        ],
        [
          'module' => 'another_module',
        ],
      ],
    ],
  ];
  $this->moduleHandler
    ->expects($this
    ->at(0))
    ->method('loadInclude')
    ->with('a_module', 'the_type', 'some_name');
  $this->moduleHandler
    ->expects($this
    ->at(1))
    ->method('loadInclude')
    ->with('another_module', 'inc', 'another_module');
  $this->formStateCacheStore
    ->expects($this
    ->once())
    ->method('get')
    ->with($form_build_id)
    ->willReturn($cached_form_state);
  $this->formCache
    ->getCache($form_build_id, $form_state);
}