crossword-8.x-1.x-dev/tests/src/Kernel/Formatter/CrosswordImageRenderedFormatterTest.php

tests/src/Kernel/Formatter/CrosswordImageRenderedFormatterTest.php
<?php

namespace Drupal\Tests\crossword\Kernel\Formatter;

/**
 * Test the crossword_image_rendered formatter.
 *
 * @group crossword
 */
class CrosswordImageRenderedFormatterTest extends SimpleCrosswordFormatterTestBase {

  /**
   * {@inheritdoc}
   */
  public $id = 'crossword_image_rendered';

  /**
   * {@inheritdoc}
   */
  public $customSettings = [
    ['crossword_image' => 'solution_thumbnail'],
    ['crossword_image' => 'numbered_thumbnail'],
  ];

  /**
   * {@inheritdoc}
   */
  protected static $modules = [
    'field',
    'entity_test',
    'system',
    'user',
    'file',
    'crossword',
    'image',
    'crossword_image',
  ];

  /**
   * {@inheritdoc}
   */
  public function testFormatter() {
    // Get an array of settings sets together.
    $default_settings = $this->class::defaultSettings();
    $settings_array[] = $default_settings;
    if (!empty($this->customSettings)) {
      $settings_array = array_merge($settings_array, $this->customSettings);
    }

    // Test the formatter with each array of settings.
    foreach ($settings_array as $settings) {
      $render = $this->entity->field_crossword->view([
        'type' => $this->id,
        'label' => 'hidden',
        'settings' => $settings,
      ]);
      $this->assertTrue(!empty($render), "The render array is empty");
      $expected_uri = 'public://crossword/1-' . $settings['crossword_image'] . '.png';
      $this->assertEquals($render[0]['#item']->uri, $expected_uri, "The image uri is not correct for {$settings['crossword_image']}.");
      $this->assertFileExists($expected_uri, "The {$settings['crossword_image']} does not exist.");
    }
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc