cefrl-1.0.0-beta1/tests/src/Unit/CEFRLLevelsTest.php

tests/src/Unit/CEFRLLevelsTest.php
<?php

namespace Drupal\Tests\cefrl\Unit;

use Drupal\Tests\UnitTestCase;
use Drupal\cefrl\CEFRLLevels;

/**
 * Cover the functionality of the CEFRL levels service.
 *
 * @group cefrl
 */
class CEFRLLevelsTest extends UnitTestCase {

  /**
   * {@inheritdoc}
   */
  protected function setUp(): void {
    parent::setUp();

    $this->cefrlLevels = new CEFRLLevels();
  }

  /**
   * Tests group functionality.
   */
  public function testGroups() {
    $groups = $this->cefrlLevels->getGroups();

    $this->assertContainsOnly('array', $groups);

    $this->assertArrayHasKey('A', $groups);
    $this->assertContains('B1', $groups['B']);
    $this->assertNotContains('B2', $groups['C']);
    $this->assertArrayNotHasKey('NS', $groups);

    $this->assertContains('A1', $this->cefrlLevels->getGroupLevels('A'));
    $this->assertEquals(['C1', 'C2'], $this->cefrlLevels->getGroupLevels('C'));
    $this->assertNotEquals(['B2', 'B1'], $this->cefrlLevels->getGroupLevels('B'));
    $this->assertNull($this->cefrlLevels->getGroupLevels('A2'));
  }

  /**
   * Tests level functionality.
   */
  public function testLevels() {
    $levels = $this->cefrlLevels->getLevels();

    $this->assertContainsOnly('string', $levels);

    $this->assertArrayHasKey('A1', $levels);
    $this->assertEquals('B', $levels['B2']);
    $this->assertNotEquals('B', $levels['C1']);
    $this->assertArrayNotHasKey('NS', $levels);

    $this->assertEquals('A', $this->cefrlLevels->getLevelGroup('A2'));
    $this->assertNotEquals('C', $this->cefrlLevels->getLevelGroup('B1'));
    $this->assertNull($this->cefrlLevels->getLevelGroup('C'));
  }

  /**
   * Tests weight functionality.
   */
  public function testWeights() {
    $weights = $this->cefrlLevels->getWeights();

    $this->assertContainsOnly('integer', $weights);

    $this->assertArrayHasKey('A', $weights);
    $this->assertEquals(220, $weights['B2']);
    $this->assertNotEquals(210, $weights['C1']);

    $this->assertEquals(999, $this->cefrlLevels->getItemWeight('NS'));
    $this->assertNotEquals(400, $this->cefrlLevels->getItemWeight('B1'));
    $this->assertNull($this->cefrlLevels->getItemWeight('X'));
  }

}

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

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