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. |