public function PathautoNodeWebTest::testCustomAliasAfterAutomaticAlias in Pathauto 8
Tests that nodes with an automatic alias can get a custom alias.
File
- tests/src/ Functional/ PathautoNodeWebTest.php, line 301 
Class
- PathautoNodeWebTest
- Tests pathauto node UI integration.
Namespace
Drupal\Tests\pathauto\FunctionalCode
public function testCustomAliasAfterAutomaticAlias() {
  // Create a pattern.
  $this
    ->createPattern('node', '/content/[node:title]');
  // Create a node with an automatic alias.
  $edit = [
    'title[0][value]' => 'Sample article',
  ];
  $this
    ->drupalPostForm('node/add/article', $edit, 'Save');
  $this
    ->assertSession()
    ->pageTextContains('article Sample article has been created.');
  // Ensure that the automatic alias got created.
  $this
    ->assertAliasExists([
    'alias' => '/content/sample-article',
  ]);
  $this
    ->drupalGet('/content/sample-article');
  $this
    ->assertSession()
    ->statusCodeEquals(200);
  // Now edit the node, set a custom alias.
  $edit = [
    'path[0][pathauto]' => 0,
    'path[0][alias]' => '/sample-pattern-for-article',
  ];
  $this
    ->drupalPostForm('node/1/edit', $edit, 'Save');
  // Assert that the new alias exists and the old one does not.
  $this
    ->assertAliasExists([
    'alias' => '/sample-pattern-for-article',
  ]);
  $this
    ->assertNoAliasExists([
    'alias' => '/content/sample-article',
  ]);
  $this
    ->drupalGet('sample-pattern-for-article');
  $this
    ->assertSession()
    ->statusCodeEquals(200);
}