recurring_events-2.0.x-dev/tests/src/Kernel/RecurringEventsFieldTraitTest.php

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

declare(strict_types=1);

namespace Drupal\Tests\recurring_events\Kernel;

use Drupal\KernelTests\KernelTestBase;

/**
 * @coversDefaultClass \Drupal\recurring_events\Plugin\RecurringEventsFieldTrait
 * @group recurring_events
 * @requires module field_inheritance
 */
class RecurringEventsFieldTraitTest extends KernelTestBase {

  /**
   * The modules to load to run the test.
   *
   * @var array
   */
  protected static $modules = [
    'datetime',
    'datetime_range',
    'field_inheritance',
    'options',
    'recurring_events',
    'system',
    'text',
    'user',
  ];

  /**
   * A reflection of \Drupal\recurring_events\Plugin\RecurringEventsFieldTrait.
   *
   * @var \ReflectionClass
   */
  protected $reflection;

  /**
   * {@inheritdoc}
   */
  protected function setUp(): void {
    parent::setUp();
    $this->installEntitySchema('eventseries');
    $this->installEntitySchema('eventinstance');
    $this->installConfig([
      'field_inheritance',
      'recurring_events',
      'datetime',
      'system',
    ]);
    $this->reflection = new \ReflectionClass('\Drupal\recurring_events\Plugin\RecurringEventsFieldTrait');
  }

  /**
   * Tests RecurringEventsFieldTrait::convertTimeTo24hourFormat().
   */
  public function testConvertTimeTo24hourFormat() {
    $method = new \ReflectionMethod('\Drupal\recurring_events\Plugin\RecurringEventsFieldTrait', 'convertTimeTo24hourFormat');
    $method->setAccessible(TRUE);

    $times = [
      '09:30 am' => ['09', '30', '00'],
      '09:30 pm' => ['21', '30', '00'],
      '11:15 am' => ['11', '15', '00'],
      '11:15 pm' => ['23', '15', '00'],
      '12:00 am' => ['00', '00', '00'],
      '12:00 pm' => ['12', '00', '00'],
    ];

    foreach ($times as $time => $expected) {
      $result = $method->invoke($this->reflection, $time);
      $this->assertEquals($expected, $result);
    }
  }

}

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

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