google_tag-8.x-1.x-dev/tests/src/Kernel/Migrate/GoogleAnalyticsMigrationTest.php
tests/src/Kernel/Migrate/GoogleAnalyticsMigrationTest.php
<?php namespace Drupal\Tests\google_tag\Kernel\Migrate; use Drupal\Tests\google_tag\Kernel\GoogleTagTestCase; /** * Tests hook install for migrating google analytics configuration to 2.x. * * @group google_tag * @requires module google_analytics */ class GoogleAnalyticsMigrationTest extends GoogleTagTestCase { /** * Container entity id. */ protected const CONTAINER = 'G-ABCD1A2B3C'; /** * {@inheritdoc} */ protected static $modules = [ 'node', 'taxonomy', 'language', 'google_analytics', ]; /** * {@inheritDoc} */ public function setUp(): void { parent::setUp(); $this->loadFixture('google_analytics_migrate.php'); } /** * Tests that entities are migrated and google tag settings are migrated. * * @covers ::google_tag_install * * @throws \Exception */ public function testEntitiesMigrated(): void { $this->container->get('module_handler')->loadInclude('google_tag', 'install'); google_tag_install(); $gtag_settings = $this->container->get('config.factory')->get('google_tag.settings'); $default_entity = $gtag_settings->get('default_google_tag_entity'); self::assertStringStartsWith(self::CONTAINER, $default_entity); self::assertNotTrue($gtag_settings->get('use_collection')); $google_tag_storage = $this->container->get('entity_type.manager')->getStorage('google_tag_container'); $container = $google_tag_storage->load($default_entity); self::assertNotEmpty($container->get('tag_container_ids')); self::assertNotEmpty($container->get('events')); $conditions = $container->get('conditions'); self::assertNotEmpty($conditions); self::assertArrayHasKey('user_role', $conditions, 'Custom user role logic is converted into conditions.'); self::assertArrayHasKey('request_path', $conditions, 'Custom request path role is converted into conditions'); } }