update_helper-2.0.0/modules/update_helper_checklist/tests/src/Kernel/UpdateChecklistTest.php

modules/update_helper_checklist/tests/src/Kernel/UpdateChecklistTest.php
<?php

declare(strict_types=1);

namespace Drupal\Tests\update_helper_checklist\Kernel;

use Drupal\KernelTests\KernelTestBase;
use Drupal\update_helper_checklist\Entity\Update;

/**
 * @covers \Drupal\update_helper_checklist\UpdateChecklist
 *
 * @group update_helper_checklist
 *
 * @requires module checklistapi
 *
 * @package Drupal\Tests\update_helper_checklist\Kernel
 */
class UpdateChecklistTest extends KernelTestBase {

  /**
   * Modules to enable for test.
   *
   * @var array
   */
  protected static $modules = [
    'system',
    'user',
    'config_update',
    'update_helper',
    'checklistapi',
    'update_helper_checklist',
  ];

  /**
   * Install entity schema for Update entity.
   */
  protected function setUp(): void {
    parent::setUp();

    $this->installEntitySchema('update_helper_checklist_update');
  }

  /**
   * Get update checklist service.
   *
   * @return \Drupal\update_helper_checklist\UpdateChecklist
   *   Returns update checklist service.
   */
  protected function getUpdateChecklist() {
    return \Drupal::service('update_helper_checklist.update_checklist');
  }

  /**
   * @covers \Drupal\update_helper_checklist\UpdateChecklist::getUpdateVersions
   */
  public function testGetUpdateVersions() {
    $update_checklist = $this->getUpdateChecklist();

    // Get update versions when module is not installed yet.
    $update_versions = $update_checklist->getUpdateVersions('update_helper_checklist_test');
    $this->assertEquals([], $update_versions);

    // After module is installed.
    $this->container->get('module_installer')
      ->install(['update_helper_checklist_test']);
    $update_versions = $update_checklist->getUpdateVersions('update_helper_checklist_test');
    $this->assertEquals(['v8.x-1.0', 'v8.x-1.1'], $update_versions);
  }

  /**
   * Test update hook: update_helper_checklist_modules_installed.
   */
  public function testModulesInstalledHook() {
    $first_update_checklist_entry = Update::load('update_helper_checklist_test:update_helper_checklist_test_update_8001');

    $this->assertEquals(NULL, $first_update_checklist_entry);

    $this->container->get('module_installer')
      ->install(['update_helper_checklist_test']);
    $all_saved = Update::loadMultiple();
    $expected_all_saved_ids = [
      'update_helper_checklist_test:update_helper_checklist_test_update_8001',
      'update_helper_checklist_test:update_helper_checklist_test_update_8002',
      'update_helper_checklist_test:update_helper_checklist_test_update_8003',
    ];

    $this->assertEquals($expected_all_saved_ids, array_keys($all_saved));

    /** @var \Drupal\Core\KeyValueStore\KeyValueFactoryInterface $key_value_factory */
    $key_value_factory = $this->container->get('keyvalue');

    $state = $key_value_factory->get('state')->get('checklistapi.progress.update_helper_checklist');
    foreach ($expected_all_saved_ids as $update_id) {
      $this->assertNotEmpty($state['#items'][$update_id]);
    }
  }

}

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

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