MigrateShortcutSetTest.php

Same filename and directory in other branches
  1. 9 core/modules/shortcut/tests/src/Kernel/Migrate/d7/MigrateShortcutSetTest.php
  2. 10 core/modules/shortcut/tests/src/Kernel/Migrate/d7/MigrateShortcutSetTest.php
  3. 11.x core/modules/shortcut/tests/src/Kernel/Migrate/d7/MigrateShortcutSetTest.php

Namespace

Drupal\Tests\shortcut\Kernel\Migrate\d7

File

core/modules/shortcut/tests/src/Kernel/Migrate/d7/MigrateShortcutSetTest.php

View source
<?php

namespace Drupal\Tests\shortcut\Kernel\Migrate\d7;

use Drupal\shortcut\Entity\ShortcutSet;
use Drupal\shortcut\ShortcutSetInterface;
use Drupal\Tests\migrate_drupal\Kernel\d7\MigrateDrupal7TestBase;

/**
 * Test shortcut_set migration to ShortcutSet entities.
 *
 * @group shortcut
 */
class MigrateShortcutSetTest extends MigrateDrupal7TestBase {
    
    /**
     * Modules to enable.
     *
     * @var array
     */
    public static $modules = [
        'link',
        'field',
        'shortcut',
        'menu_link_content',
    ];
    
    /**
     * {@inheritdoc}
     */
    protected function setUp() {
        parent::setUp();
        $this->installEntitySchema('shortcut');
        $this->installEntitySchema('menu_link_content');
        \Drupal::service('router.builder')->rebuild();
        $this->executeMigration('d7_shortcut_set');
        $this->executeMigration('d7_menu');
        $this->executeMigration('d7_menu_links');
        $this->executeMigration('d7_shortcut');
    }
    
    /**
     * Test the shortcut set migration.
     */
    public function testShortcutSetMigration() {
        $this->assertEntity('default', 'Default', 2);
        $this->assertEntity('shortcut_set_2', 'Alternative shortcut set', 2);
    }
    
    /**
     * Asserts various aspects of a shortcut set entity.
     *
     * @param string $id
     *   The expected shortcut set ID.
     * @param string $label
     *   The expected shortcut set label.
     * @param int $expected_size
     *   The number of shortcuts expected to be in the set.
     */
    protected function assertEntity($id, $label, $expected_size) {
        $shortcut_set = ShortcutSet::load($id);
        $this->assertInstanceOf(ShortcutSetInterface::class, $shortcut_set);
        
        /** @var \Drupal\shortcut\ShortcutSetInterface $shortcut_set */
        $this->assertIdentical($id, $shortcut_set->id());
        $this->assertIdentical($label, $shortcut_set->label());
        // Check the number of shortcuts in the set.
        $shortcuts = $shortcut_set->getShortcuts();
        $this->assertIdentical(count($shortcuts), $expected_size);
    }

}

Classes

Title Deprecated Summary
MigrateShortcutSetTest Test shortcut_set migration to ShortcutSet entities.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.