widget_engine-8.x-1.2/tests/src/Kernel/WidgetIsPublishedTest.php

tests/src/Kernel/WidgetIsPublishedTest.php
<?php

namespace Drupal\Tests\widget_engine\Kernel;

use Drupal\field\Entity\FieldConfig;
use Drupal\field\Entity\FieldStorageConfig;
use Drupal\KernelTests\Core\Entity\EntityKernelTestBase;
use Drupal\widget_engine\Entity\Widget;
use Drupal\widget_engine\Entity\WidgetType;

/**
 * Tests \Drupal\Paragraphs\Entity\Paragraph::isPublished().
 *
 * @group widget_engine
 */
class WidgetIsPublishedTest extends EntityKernelTestBase {

  /**
   * {@inheritdoc}
   */
  protected static $modules = [
    'widget_engine',
    'image',
    'file',
  ];

  /**
   * {@inheritdoc}
   */
  protected function setUp(): void {
    parent::setUp();
    $widget_type = WidgetType::create([
      'label' => 'Test Widget',
      'id' => 'test_widget',
    ]);
    $widget_type->save();
    $this->addWidgetField('test_widget', 'text', 'string');
    $this->installEntitySchema('widget');
  }

  /**
   * Tests the functionality of the isPublished() function.
   */
  public function testIsPublished() {
    $widget = Widget::create([
      'type' => 'test_widget',
      'text' => 'some text',
    ]);
    $widget->save();
    $this->assertTrue($widget->isPublished(), 'Widget is publised');
    $widget->setPublished(FALSE);
    $this->assertFalse($widget->isPublished(), 'Widget is unpublised');
  }

  /**
   * Adds a field to a given widget type.
   *
   * @param string $widget_type_name
   *   Paragraph type name to be used.
   * @param string $field_name
   *   Paragraphs field name to be used.
   * @param string $field_type
   *   Type of the field.
   * @param array $field_edit
   *   Edit settings for the field.
   */
  protected function addWidgetField($widget_type_name, $field_name, $field_type, array $field_edit = []) {
    // Add a paragraphs field.
    $field_storage = FieldStorageConfig::create([
      'field_name' => $field_name,
      'entity_type' => 'widget',
      'type' => $field_type,
      'cardinality' => '-1',
      'settings' => $field_edit,
    ]);
    $field_storage->save();
    $field = FieldConfig::create([
      'field_storage' => $field_storage,
      'bundle' => $widget_type_name,
      'settings' => [
        'handler' => 'default',
        'handler_settings' => ['target_bundles' => NULL],
      ],
    ]);
    $field->save();
  }

}

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

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