public function JsonPathParserTest::testInvalidMappingSource in Feeds extensible parsers 8
Tests mapping validation.
File
- tests/src/ Functional/ Feeds/ Parser/ JsonPathParserTest.php, line 42 
Class
- JsonPathParserTest
- @coversDefaultClass \Drupal\feeds_ex\Feeds\Parser\JsonPathParser @group feeds_ex
Namespace
Drupal\Tests\feeds_ex\Functional\Feeds\ParserCode
public function testInvalidMappingSource() {
  $this
    ->drupalGet('/admin/structure/feeds/manage/' . $this->feedType
    ->id() . '/mapping');
  // First, set context.
  $edit = [
    'context' => '$.items.*',
  ];
  $this
    ->drupalPostForm('/admin/structure/feeds/manage/' . $this->feedType
    ->id() . '/mapping', $edit, 'Save');
  // Now setup bad mapping.
  $edit = [
    'mappings[1][map][value][select]' => '__new',
    'mappings[1][map][value][__new][value]' => '.hello*',
    'mappings[1][map][value][__new][machine_name]' => '_hello_',
  ];
  $this
    ->drupalPostForm(NULL, $edit, 'Save');
  // Assert that a warning is displayed.
  $this
    ->assertSession()
    ->pageTextContains('Unable to parse token hello* in expression: .hello*');
  // Now check the parser configuration.
  $this->feedType = $this
    ->reloadEntity($this->feedType);
  $this
    ->assertEquals([], $this->feedType
    ->getParser()
    ->getConfiguration('sources'));
}