knowledge-8.x-1.x-dev/tests/src/Functional/KnowledgeNodeChangesTest.php

tests/src/Functional/KnowledgeNodeChangesTest.php
<?php

namespace Drupal\Tests\knowledge\Functional;

use Drupal\field\Entity\FieldConfig;
use Drupal\field\Entity\FieldStorageConfig;
use Drupal\knowledge\Entity\Knowledge;

/**
 * Tests that knowledge behave correctly when the node is changed.
 *
 * @group knowledge
 */
class KnowledgeNodeChangesTest extends KnowledgeTestBase {

  /**
   * {@inheritdoc}
   */
  protected $defaultTheme = 'stark';

  /**
   * Tests that knowledge is deleted with the node.
   */
  public function testNodeDeletion() {
    $this->drupalLogin($this->webUser);
    $knowledge = $this->postKnowledge($this->node, $this->randomMachineName(), $this->randomMachineName());
    $this->assertInstanceOf(Knowledge::class, $knowledge);
    $this->node->delete();
    $this->assertNull(Knowledge::load($knowledge->id()), 'The knowledge could not be loaded after the node was deleted.');
    // Make sure the knowledge field storage and all its fields are deleted when
    // the node type is deleted.
    $this->assertNotNull(FieldStorageConfig::load('node.knowledge'), 'Knowledge field storage exists');
    $this->assertNotNull(FieldConfig::load('node.article.knowledge'), 'Knowledge field exists');
    // Delete the node type.
    $this->node->get('type')->entity->delete();
    $this->assertNull(FieldStorageConfig::load('node.knowledge'), 'Knowledge field storage deleted');
    $this->assertNull(FieldConfig::load('node.article.knowledge'), 'Knowledge field deleted');
  }

}

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

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