usfedgov_google_analytics-8.x-1.2/tests/src/Functional/Update/UpdateSettingsTest.php

tests/src/Functional/Update/UpdateSettingsTest.php
<?php

namespace Drupal\Tests\usfedgov_google_analytics\Functional\Update;

use Drupal\FunctionalTests\Update\UpdatePathTestBase;

/**
 * Tests setting updates and deletions.
 *
 * @group Update
 * @group usfedgov_google_analytics
 */
class UpdateSettingsTest extends UpdatePathTestBase {

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

  /**
   * {@inheritdoc}
   */
  protected function setDatabaseDumpFiles() {
    $this->databaseDumpFiles = [
      $this->root . '/core/modules/system/tests/fixtures/update/drupal-10.3.0.filled.standard.php.gz',
      __DIR__ . '/../../../fixtures/update/usfedgov_google_analytics_8000.php',
    ];
  }

  /**
   * @covers usfedgov_google_analytics_update_20002
   * @covers usfedgov_google_analytics_update_20003
   * @covers usfedgov_google_analytics_update_30000
   */
  public function testUpdateHookN(): void {
    $old_settings = \Drupal::config('usfedgov_google_analytics.settings');

    $this->assertFalse($old_settings->get('usfedgov_google_analytics__disable'));
    $this->assertSame(0, $old_settings->get('usfedgov_google_analytics__load_from_cdn'));
    $this->assertFalse($old_settings->get('usfedgov_google_analytics__load_minified'));

    $old_extra = $old_settings->get('usfedgov_google_analytics__settings.extra');
    $this->assertSame('1', $old_extra['sdor']);
    $this->assertSame('1', $old_extra['autotracker']);
    $this->assertSame('1', $old_extra['parallelcd']);
    $this->assertSame('12', $old_extra['cto']);

    $this->runUpdates();

    $new_settings = \Drupal::config('usfedgov_google_analytics.settings');

    $this->assertTrue($new_settings->get('status'));
    $this->assertEquals('local.8.0.0', $new_settings->get('library'));
    $this->assertNull($new_settings->get('usfedgov_google_analytics__load_from_cdn'));
    $this->assertNull($new_settings->get('usfedgov_google_analytics__load_minified'));

    // Ensure migrated query parameters exist and have the correct type.
    $parameters = $new_settings->get('query_parameters');
    $this->assertEquals('usda', $parameters['agency']);
    $this->assertEquals('ars', $parameters['subagency']);
    $this->assertSame('', $parameters['sitetopic']);
    $this->assertEquals('Drupal', $parameters['siteplatform']);
    $this->assertEquals('my_search_parameter', $parameters['sp']);
    $this->assertEquals('tiff', $parameters['exts']);
    $this->assertFalse($parameters['yt']);
    $this->assertTrue($parameters['htmlvideo']);
    $this->assertEquals(25, $parameters['ytm']);
    $this->assertSame('', $parameters['sdor']);
    $this->assertTrue($parameters['autotracker']);
    $this->assertEquals(12, $parameters['cto']);
    $this->assertEquals('G-1234567890', $parameters['pga4']);
    $this->assertTrue($parameters['parallelcd']);
    $this->assertEquals(1, $parameters['palagencydim']);
    $this->assertEquals(42, $parameters['palsubagencydim']);
    $this->assertEquals(73, $parameters['palversiondim']);
    $this->assertEquals(4, $parameters['paltopicdim']);
    $this->assertEquals(5, $parameters['palplatformdim']);
    $this->assertEquals(6, $parameters['palscriptsrcdim']);
    $this->assertEquals(7, $parameters['palurlprotocoldim']);
    $this->assertEquals(8, $parameters['palinteractiontypedim']);
    $this->assertFalse($parameters['dapdev']);
    $this->assertNull($new_settings->get('usfedgov_google_analytics__settings.extra'));
  }

}

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

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