onlyone-8.x-1.x-dev/tests/src/Unit/OnlyOnePrintAdminPageTest.php

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

namespace Drupal\Tests\onlyone\Unit;

use Drupal\Tests\UnitTestCase;
use Drupal\Tests\onlyone\Traits\OnlyOneUnitTestTrait;
use Drupal\onlyone\OnlyOnePrintAdminPage;

/**
 * Tests the OnlyOnePrintAdminPage class methods.
 *
 * @group onlyone
 * @coversDefaultClass \Drupal\onlyone\OnlyOnePrintAdminPage
 */
class OnlyOnePrintAdminPageTest extends UnitTestCase {

  use OnlyOneUnitTestTrait;

  /**
   * Tests the content type list for printing for the Admin Page.
   *
   * @param array $expected
   *   The expected result from calling the function.
   * @param array $content_types
   *   A list with content types objects.
   *
   * @covers ::getContentTypesListForPrint
   * @dataProvider providerGetContentTypesListForPrint
   */
  public function testGetContentTypesListForPrint(array $expected, array $content_types) {
    // Creating the object.
    $onlyOnePrintAdminPage = new OnlyOnePrintAdminPage();

    // Testing the function.
    $this->assertEquals($expected, $onlyOnePrintAdminPage->getContentTypesListForPrint($content_types));
  }

  /**
   * Data provider for testGetContentTypesListForPrint().
   *
   * @return array
   *   An array of arrays, each containing:
   *   - 'expected' - Expected return from getContentTypesListForPrint().
   *   - 'content_types' - A list with content types objects.
   *
   * @see getContentTypesListForPrint()
   */
  public function providerGetContentTypesListForPrint() {

    // Getting the list of content types.
    $content_types = $this->getContentTypesObjectList();

    $expected = [
      // Test 1.
      [
        'page' => 'Basic Page <strong>(En: 1 Node, Es: 1 Node)</strong>',
        'blog' => 'Blog Post <strong>(0 Nodes)</strong>',
        'car' => 'Car <strong>(Not specified: 1 Node, Not applicable: 2 Nodes, En: 1 Node)</strong>',
        'article' => 'Article <strong>(Not specified: 1 Node, En: 2 Nodes, Es: 1 Node)</strong>',
      ],
      // Test 2.
      [
        'blog' => 'Blog Post <strong>(En: 1 Node)</strong>',
        'car' => 'Car <strong>(0 Nodes)</strong>',
      ],
      // Test 3.
      [
        'page' => 'Basic Page <strong>(En: 1 Node, Es: 1 Node)</strong>',
        'car' => 'Car <strong>(0 Nodes)</strong>',
        'article' => 'Article <strong>(Es: 3 Nodes)</strong>',
      ],
      // Test 4.
      [
        'page' => 'Basic Page <strong>(1 Node)</strong>',
        'blog' => 'Blog Post <strong>(2 Nodes)</strong>',
        'car' => 'Car <strong>(0 Nodes)</strong>',
        'article' => 'Article <strong>(5 Nodes)</strong>',
      ],
      // Test 5.
      [
        'blog' => 'Blog Post <strong>(0 Nodes)</strong>',
        'car' => 'Car <strong>(1 Node)</strong>',
      ],
      // Test 6.
      [
        'page' => 'Basic Page <strong>(1 Node)</strong>',
        'car' => 'Car <strong>(5 Nodes)</strong>',
        'article' => 'Article <strong>(3 Nodes)</strong>',
      ],
    ];

    $tests['multilingual 1'] = [$expected[0], $content_types[0]];
    $tests['multilingual 2'] = [$expected[1], $content_types[1]];
    $tests['multilingual 3'] = [$expected[2], $content_types[2]];
    $tests['non-multilingual 1'] = [$expected[3], $content_types[3]];
    $tests['non-multilingual 2'] = [$expected[4], $content_types[4]];
    $tests['non-multilingual 3'] = [$expected[5], $content_types[5]];

    return $tests;
  }

}

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

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