d9b47b0592e32033ba56a0d54b83fb1cf6331cdd
[yaffs-website] / web / core / modules / menu_link_content / tests / src / Kernel / Migrate / d6 / MigrateMenuLinkTranslationTest.php
1 <?php
2
3 namespace Drupal\Tests\menu_link_content\Kernel\Migrate\d6;
4
5 use Drupal\menu_link_content\Entity\MenuLinkContent;
6 use Drupal\Tests\migrate_drupal\Kernel\d6\MigrateDrupal6TestBase;
7
8 /**
9  * Menu link migration.
10  *
11  * @group migrate_drupal_6
12  */
13 class MigrateMenuLinkTranslationTest extends MigrateDrupal6TestBase {
14
15   /**
16    * {@inheritdoc}
17    */
18   public static $modules = [
19     'menu_ui',
20     'menu_link_content',
21     'language',
22     'content_translation',
23     // Required for translation migrations.
24     'migrate_drupal_multilingual',
25   ];
26
27   /**
28    * {@inheritdoc}
29    */
30   protected function setUp() {
31     parent::setUp();
32     $this->migrateContent();
33     $this->installSchema('system', ['router']);
34     $this->installEntitySchema('menu_link_content');
35     $this->executeMigrations([
36       'language',
37       'd6_menu',
38       'd6_menu_links',
39       'd6_menu_links_translation',
40     ]);
41   }
42
43   /**
44    * Tests migration of menu links.
45    */
46   public function testMenuLinks() {
47     /** @var \Drupal\menu_link_content\Entity\MenuLinkContent $menu_link */
48     $menu_link = MenuLinkContent::load(139)->getTranslation('fr');
49     $this->assertInstanceOf(MenuLinkContent::class, $menu_link);
50     $this->assertSame('fr - Test 2', $menu_link->getTitle());
51     $this->assertSame('fr - Test menu link 2', $menu_link->getDescription());
52     $this->assertSame('secondary-links', $menu_link->getMenuName());
53     $this->assertTrue($menu_link->isEnabled());
54     $this->assertTrue($menu_link->isExpanded());
55     $this->assertSame(['query' => 'foo=bar', 'attributes' => ['title' => 'Test menu link 2']], $menu_link->link->options);
56     $this->assertSame('internal:/admin', $menu_link->link->uri);
57     $this->assertSame(-49, $menu_link->getWeight());
58
59     $menu_link = MenuLinkContent::load(139)->getTranslation('zu');
60     $this->assertInstanceOf(MenuLinkContent::class, $menu_link);
61     $this->assertSame('Test 2', $menu_link->getTitle());
62     $this->assertSame('zu - Test menu link 2', $menu_link->getDescription());
63     $this->assertSame('secondary-links', $menu_link->getMenuName());
64     $this->assertTrue($menu_link->isEnabled());
65     $this->assertTrue($menu_link->isExpanded());
66     $this->assertSame(['query' => 'foo=bar', 'attributes' => ['title' => 'Test menu link 2']], $menu_link->link->options);
67     $this->assertSame('internal:/admin', $menu_link->link->uri);
68     $this->assertSame(-49, $menu_link->getWeight());
69
70     $menu_link = MenuLinkContent::load(140)->getTranslation('fr');
71     $this->assertInstanceOf(MenuLinkContent::class, $menu_link);
72     $this->assertSame('fr - Drupal.org', $menu_link->getTitle());
73     $this->assertSame('', $menu_link->getDescription());
74     $this->assertSame('secondary-links', $menu_link->getMenuName());
75     $this->assertTrue($menu_link->isEnabled());
76     $this->assertFalse($menu_link->isExpanded());
77     $this->assertSame(['attributes' => ['title' => '']], $menu_link->link->options);
78     $this->assertSame('https://www.drupal.org', $menu_link->link->uri);
79     $this->assertSame(-50, $menu_link->getWeight());
80
81     $menu_link = MenuLinkContent::load(463);
82     $this->assertInstanceOf(MenuLinkContent::class, $menu_link);
83     $this->assertSame('fr - Test 1', $menu_link->getTitle());
84     $this->assertSame('fr - Test menu link 1', $menu_link->getDescription());
85     $this->assertSame('secondary-links', $menu_link->getMenuName());
86     $this->assertTrue($menu_link->isEnabled());
87     $this->assertFalse($menu_link->isExpanded());
88     $attributes = [
89       'attributes' => [
90         'title' => 'fr - Test menu link 1',
91       ],
92       'langcode' => 'fr',
93       'alter' => TRUE,
94     ];
95     $this->assertSame($attributes, $menu_link->link->options);
96     $this->assertSame('internal:/user/login', $menu_link->link->uri);
97     $this->assertSame(-49, $menu_link->getWeight());
98   }
99
100 }