acquia_perz-4.0.0-rc1/modules/acquia_perz_push/tests/src/Kernel/ExportFormTest.php

modules/acquia_perz_push/tests/src/Kernel/ExportFormTest.php
<?php

namespace Drupal\Tests\acquia_perz_push\Kernel;

use Drupal\acquia_perz_push\Form\ExportForm;
use Drupal\Core\Form\FormInterface;
use Drupal\Core\Form\FormState;

/**
 * Tests Export Form.
 *
 * @coversDefaultClass \Drupal\acquia_perz_push\Form\ExportForm
 * @group acquia_perz
 */
class ExportFormTest extends PerzPushTestBase {

  /**
   * The Export settings elements form object under test.
   *
   * @var \Drupal\acquia_perz_push\Form\ExportForm
   */
  protected $exportForm;

  /**
   * {@inheritdoc}
   *
   * @covers ::\__construct()
   */
  protected function setUp(): void {
    parent::setUp();
    $this->exportForm = ExportForm::create($this->container);
  }

  /**
   * Test Export Form.
   */
  public function testExportForm(): void {
    $this->assertInstanceOf(FormInterface::class, $this->exportForm);
    $id = $this->exportForm->getFormId();
    $this->assertEquals('acquia_perz_push_export_form', $id);
  }

  /**
   * Test Export Form Enqueue Content.
   */
  public function testExportFormEnqueueContent(): void {
    $triggering_element = [
      "#type" => "submit",
      "#parents" => [
        0 => "enqueue_content",
      ],
    ];

    $form_state = (new FormState())->setTriggeringElement($triggering_element);
    $form = $this->exportForm->buildForm([], $form_state);
    $this->exportForm->submitForm($form, $form_state);
    $messages = \Drupal::messenger()->all();
    \Drupal::messenger()->deleteAll();
    $this->assertTrue(isset($messages['status']));
    $status_messages = $messages['status'];
    $this->assertEquals('All content has been scanned and added to the Queue.', $status_messages[0]);
  }

  /**
   * Test Export Form Purge Queue.
   */
  public function testExportFormPurgeQueue(): void {
    $triggering_element = [
      "#type" => "submit",
      "#parents" => [
        0 => "purge_queue",
      ],
    ];

    $form_state = (new FormState())->setTriggeringElement($triggering_element);
    $form = $this->exportForm->buildForm([], $form_state);
    $this->exportForm->submitForm($form, $form_state);
    $messages = \Drupal::messenger()->all();
    \Drupal::messenger()->deleteAll();
    $this->assertTrue(isset($messages['status']));
    $status_messages = $messages['status'];
    $this->assertEquals('All content has been purged from the Queue.', $status_messages[0]);
  }

  /**
   * Test Export Form Process Queue.
   */
  public function testExportFormProcessQueue(): void {
    $triggering_element = [
      "#type" => "submit",
      "#parents" => [
        0 => "process_queue",
      ],
    ];

    $form_state = (new FormState())->setTriggeringElement($triggering_element);
    $form = $this->exportForm->buildForm([], $form_state);
    $this->exportForm->submitForm($form, $form_state);
    $messages = \Drupal::messenger()->all();
    \Drupal::messenger()->deleteAll();
    $this->assertTrue(isset($messages['status']));
    $status_messages = $messages['status'];
    $this->assertEquals('All content has been exported to Personalization from the Queue.', $status_messages[0]);
  }

}

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

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