class FeedTypeTest in Feeds 8.3
@coversDefaultClass \Drupal\feeds\Entity\FeedType @group feeds
Hierarchy
- class \Drupal\Tests\UnitTestCase extends \PHPUnit\Framework\TestCase uses PhpunitCompatibilityTrait
- class \Drupal\Tests\feeds\Unit\FeedsUnitTestCase uses FeedsMockingTrait, FeedsReflectionTrait
- class \Drupal\Tests\feeds\Unit\Entity\FeedTypeTest
 
 
 - class \Drupal\Tests\feeds\Unit\FeedsUnitTestCase uses FeedsMockingTrait, FeedsReflectionTrait
 
Expanded class hierarchy of FeedTypeTest
File
- tests/
src/ Unit/ Entity/ FeedTypeTest.php, line 14  
Namespace
Drupal\Tests\feeds\Unit\EntityView source
class FeedTypeTest extends FeedsUnitTestCase {
  /**
   * The feed type under test.
   *
   * @var \Drupal\feeds\Entity\FeedType
   */
  protected $feedType;
  /**
   * Gets a feed type for testing.
   *
   * @param string $feed_type_id
   *   The feed type ID.
   * @param array $stubs
   *   (optional) The methods to mock.
   *
   * @return \Drupal\feeds\FeedTypeInterface
   *   The mocked feed type.
   */
  protected function getFeedTypeMock($feed_type_id, array $stubs = []) {
    // Plugin manager.
    $pluginManager = $this
      ->getMockBuilder(FeedsPluginManager::class)
      ->disableOriginalConstructor()
      ->getMock();
    $pluginManager
      ->expects($this
      ->any())
      ->method('getDefinitions')
      ->will($this
      ->returnValue([]));
    $default_stubs = [
      'getParser',
      'getSourcePluginManager',
      'alter',
    ];
    $feed_type = $this
      ->getMockBuilder(FeedType::class)
      ->setConstructorArgs([
      [
        'id' => $feed_type_id,
        'label' => 'My Feed',
        'custom_sources' => [
          'source1' => [
            'label' => 'Source 1',
            'value' => 'Source 1',
          ],
        ],
      ],
      'feeds_feed_type',
    ])
      ->setMethods(array_merge($default_stubs, $stubs))
      ->getMock();
    // Parser.
    $parser = $this
      ->getMockBuilder(ParserInterface::class)
      ->getMock();
    $parser
      ->expects($this
      ->any())
      ->method('getMappingSources')
      ->will($this
      ->returnValue([]));
    $feed_type
      ->expects($this
      ->any())
      ->method('getParser')
      ->will($this
      ->returnValue($parser));
    // Source plugin manager.
    $feed_type
      ->expects($this
      ->any())
      ->method('getSourcePluginManager')
      ->will($this
      ->returnValue($pluginManager));
    return $feed_type;
  }
  /**
   * {@inheritdoc}
   */
  public function setUp() {
    parent::setUp();
    $this->feedType = $this
      ->getFeedTypeMock($this
      ->randomMachineName());
  }
  /**
   * @covers ::getMappedSources
   */
  public function testGetMappedSources() {
    $feed_type = $this
      ->getFeedTypeMock($this
      ->randomMachineName(), [
      'getMappings',
    ]);
    $feed_type
      ->expects($this
      ->once())
      ->method('getMappings')
      ->will($this
      ->returnValue([
      [
        'target' => 'feeds_item',
        'map' => [
          'guid' => 'guid',
        ],
        'unique' => [
          'guid' => TRUE,
        ],
      ],
      [
        'target' => 'title',
        'map' => [
          'value' => 'title',
        ],
      ],
      [
        'target' => 'body',
        'map' => [
          'value' => 'description',
        ],
        'settings' => [
          [
            'format' => 'plain_text',
          ],
        ],
      ],
    ]));
    $expected = [
      'guid' => 'guid',
      'title' => 'title',
      'description' => 'description',
    ];
    $this
      ->assertSame($expected, $feed_type
      ->getMappedSources());
  }
  /**
   * @covers ::addCustomSource
   */
  public function testAddCustomSource() {
    // Add a custom source.
    $this
      ->assertSame($this->feedType, $this->feedType
      ->addCustomSource('source2', [
      'label' => 'Source 2',
      'value' => 'Source 2',
    ]));
    // Assert that the source exists as one of the mapping sources.
    $expected = [
      'source1' => [
        'label' => 'Source 1',
        'value' => 'Source 1',
      ],
      'source2' => [
        'label' => 'Source 2',
        'value' => 'Source 2',
      ],
    ];
    $this
      ->assertSame($expected, $this->feedType
      ->getMappingSources());
  }
  /**
   * @covers ::getCustomSource
   */
  public function testGetCustomSource() {
    // Get an existing source.
    $expected = [
      'label' => 'Source 1',
      'value' => 'Source 1',
    ];
    $this
      ->assertSame($expected, $this->feedType
      ->getCustomSource('source1'));
    // Get a non-existing source.
    $this
      ->assertSame(NULL, $this->feedType
      ->getCustomSource('non_existing'));
  }
  /**
   * @covers ::customSourceExists
   */
  public function testCustomSourceExists() {
    $this
      ->assertSame(TRUE, $this->feedType
      ->customSourceExists('source1'));
    $this
      ->assertSame(FALSE, $this->feedType
      ->customSourceExists('non_existing'));
  }
  /**
   * @covers ::removeCustomSource
   */
  public function testRemoveCustomSource() {
    // Remove source 1.
    $this
      ->assertSame($this->feedType, $this->feedType
      ->removeCustomSource('source1'));
    $this
      ->assertSame([], $this->feedType
      ->getMappingSources());
  }
}Members
| 
            Name | 
                  Modifiers | Type | Description | Overrides | 
|---|---|---|---|---|
| 
            FeedsMockingTrait:: | 
                  protected | function | Mocks an account object. | |
| 
            FeedsMockingTrait:: | 
                  protected | function | Returns a mocked AccountSwitcher object. | |
| 
            FeedsMockingTrait:: | 
                  protected | function | Returns a mocked feed entity. | |
| 
            FeedsMockingTrait:: | 
                  protected | function | Returns a mocked feed type entity. | |
| 
            FeedsMockingTrait:: | 
                  protected | function | Mocks a field definition. | 1 | 
| 
            FeedsMockingTrait:: | 
                  protected | function | Mocks the file system. | |
| 
            FeedsReflectionTrait:: | 
                  protected | function | Calls a protected method on the given object. | |
| 
            FeedsReflectionTrait:: | 
                  protected | function | Gets a ReflectionMethod for a class method. | |
| 
            FeedsReflectionTrait:: | 
                  protected | function | Returns a dynamically created closure for the object's method. | |
| 
            FeedsReflectionTrait:: | 
                  protected | function | Sets a protected property. | |
| 
            FeedsUnitTestCase:: | 
                  protected | function | Returns the absolute directory path of the Feeds module. | |
| 
            FeedsUnitTestCase:: | 
                  protected | function | Defines stub constants. | |
| 
            FeedsUnitTestCase:: | 
                  protected | function | Returns a mock stream wrapper manager. | |
| 
            FeedsUnitTestCase:: | 
                  protected | function | Returns the absolute directory path of the resources folder. | |
| 
            FeedTypeTest:: | 
                  protected | property | The feed type under test. | |
| 
            FeedTypeTest:: | 
                  protected | function | Gets a feed type for testing. | |
| 
            FeedTypeTest:: | 
                  public | function | 
            Overrides FeedsUnitTestCase:: | 
                  |
| 
            FeedTypeTest:: | 
                  public | function | @covers ::addCustomSource | |
| 
            FeedTypeTest:: | 
                  public | function | @covers ::customSourceExists | |
| 
            FeedTypeTest:: | 
                  public | function | @covers ::getCustomSource | |
| 
            FeedTypeTest:: | 
                  public | function | @covers ::getMappedSources | |
| 
            FeedTypeTest:: | 
                  public | function | @covers ::removeCustomSource | |
| 
            PhpunitCompatibilityTrait:: | 
                  public | function | Returns a mock object for the specified class using the available method. | |
| 
            PhpunitCompatibilityTrait:: | 
                  public | function | Compatibility layer for PHPUnit 6 to support PHPUnit 4 code. | |
| 
            UnitTestCase:: | 
                  protected | property | The random generator. | |
| 
            UnitTestCase:: | 
                  protected | property | The app root. | 1 | 
| 
            UnitTestCase:: | 
                  protected | function | Asserts if two arrays are equal by sorting them first. | |
| 
            UnitTestCase:: | 
                  protected | function | Mocks a block with a block plugin. | 1 | 
| 
            UnitTestCase:: | 
                  protected | function | Returns a stub class resolver. | |
| 
            UnitTestCase:: | 
                  public | function | Returns a stub config factory that behaves according to the passed array. | |
| 
            UnitTestCase:: | 
                  public | function | Returns a stub config storage that returns the supplied configuration. | |
| 
            UnitTestCase:: | 
                  protected | function | Sets up a container with a cache tags invalidator. | |
| 
            UnitTestCase:: | 
                  protected | function | Gets the random generator for the utility methods. | |
| 
            UnitTestCase:: | 
                  public | function | Returns a stub translation manager that just returns the passed string. | |
| 
            UnitTestCase:: | 
                  public | function | Generates a unique random string containing letters and numbers. |