acquia_connector-8.x-1.22/tests/src/Kernel/SubscriptionRefreshTest.php

tests/src/Kernel/SubscriptionRefreshTest.php
<?php

declare(strict_types=1);

namespace Drupal\Tests\acquia_connector\Kernel;

use Drupal\Component\Uuid\Php as PhpUuid;

/**
 * Tests for refreshing a subscription.
 *
 * @group acquia_connector
 */
final class SubscriptionRefreshTest extends AcquiaConnectorTestBase {

  /**
   * {@inheritdoc}
   */
  protected function setUp(): void {
    parent::setUp();
    $this->installSchema('user', ['users_data']);
    $this->installConfig(['system']);
    $this->config('system.site')
      ->set('uuid', (new PhpUuid())->generate())
      ->save();
  }

  /**
   * Tests acquia_connector_modules_installed().
   */
  public function testModulesInstalled(): void {
    $this->container->get('state')->setMultiple([
      'acquia_connector.identifier' => 'ABC',
      'acquia_connector.key' => 'DEF',
      'acquia_connector.application_uuid' => 'a47ac10b-58cc-4372-a567-0e02b2c3d470',
    ]);
    $this->container->get('acquia_connector.subscription')->populateSettings();

    self::assertEquals(
      [
        'active' => TRUE,
        'href' => '',
        'uuid' => 'a47ac10b-58cc-4372-a567-0e02b2c3d470',
        'subscription_name' => '',
        'expiration_date' => '',
        'product' => [
          'view' => 'Acquia Network',
        ],
        'search_service_enabled' => 1,
        'gratis' => FALSE,
      ],
      $this->container->get('acquia_connector.subscription')->getSubscription()
    );

    $this->container->get('module_installer')->install([
      'acquia_connector_subdata_test',
    ]);

    self::assertEquals(
      [
        'active' => TRUE,
        'href' => '',
        'uuid' => 'a47ac10b-58cc-4372-a567-0e02b2c3d470',
        'subscription_name' => '',
        'expiration_date' => '',
        'product' => [
          'view' => 'Acquia Network',
          'acquia_subdata_product' => [
            'foo' => 'bar',
            'data_from_subscription' => 'a47ac10b-58cc-4372-a567-0e02b2c3d470',
          ],
        ],
        'search_service_enabled' => 1,
        'gratis' => FALSE,
      ],
      $this->container->get('acquia_connector.subscription')->getSubscription()
    );
  }

  /**
   * Tests acquia_connector_modules_uninstalled().
   */
  public function testModuleUninstalled(): void {
    $this->container->get('state')->setMultiple([
      'acquia_connector.identifier' => 'ABC',
      'acquia_connector.key' => 'DEF',
      'acquia_connector.application_uuid' => 'a47ac10b-58cc-4372-a567-0e02b2c3d470',
    ]);
    $this->container->get('acquia_connector.subscription')->populateSettings();

    $this->container->get('module_installer')->install([
      'acquia_connector_subdata_test',
    ]);

    self::assertEquals(
      [
        'active' => TRUE,
        'href' => '',
        'uuid' => 'a47ac10b-58cc-4372-a567-0e02b2c3d470',
        'subscription_name' => '',
        'expiration_date' => '',
        'product' => [
          'view' => 'Acquia Network',
          'acquia_subdata_product' => [
            'foo' => 'bar',
            'data_from_subscription' => 'a47ac10b-58cc-4372-a567-0e02b2c3d470',
          ],
        ],
        'search_service_enabled' => 1,
        'gratis' => FALSE,

      ],
      $this->container->get('acquia_connector.subscription')->getSubscription()
    );

    $this->container->get('module_installer')->uninstall([
      'acquia_connector_subdata_test',
    ]);

    self::assertEquals(
      [
        'active' => TRUE,
        'href' => '',
        'uuid' => 'a47ac10b-58cc-4372-a567-0e02b2c3d470',
        'subscription_name' => '',
        'expiration_date' => '',
        'product' => [
          'view' => 'Acquia Network',
        ],
        'search_service_enabled' => 1,
        'gratis' => FALSE,
      ],
      $this->container->get('acquia_connector.subscription')->getSubscription()
    );

  }

  /**
   * Test getSubscription().
   */
  public function testGetSubscription(): void {
    $this->container->get('state')->setMultiple([
      'acquia_connector.identifier' => 'ABC',
      'acquia_connector.key' => 'DEF',
      'acquia_connector.application_uuid' => 'a47ac10b-58cc-4372-a567-0e02b2c3d470',
      'acquia_connector.subscription_data' => 'bogus_data',
    ]);
    $this->container->get('acquia_connector.subscription')->populateSettings();

    // Assert that we don't get data if oAuth data is empty.
    $keys = ["subscription_name", "expiration_date"];
    $subscription_data_no_oauth = $this->container->get('acquia_connector.subscription')
      ->getSubscription(TRUE);

    foreach ($keys as $key) {
      $this->assertEmpty($subscription_data_no_oauth[$key]);
    }

    // Assert again with oAuth data set.
    $this->populateOauthSettings();
    $subscription_data_with_oauth = $this->container->get('acquia_connector.subscription')
      ->getSubscription(TRUE);

    foreach ($keys as $key) {
      $this->assertNotEmpty($subscription_data_with_oauth[$key]);
    }
  }

}

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

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