panelizer.with_pathauto.test in Panelizer 7.3
Test the Pathauto integration for Panelizer.
File
tests/panelizer.with_pathauto.testView source
<?php
/**
* @file
* Test the Pathauto integration for Panelizer.
*/
/**
*
*/
class PanelizerWithPathautoTest extends PanelizerTestHelper {
/**
* {@inheritdoc}
*/
public static function getInfo() {
return array(
'name' => 'Panelizer w Pathauto',
'description' => 'Test Pathauto integration.',
'group' => 'Panelizer',
);
}
/**
* {@inheritdoc}
*/
function setUp(array $modules = array()) {
$modules[] = 'pathauto';
parent::setUp($modules);
$perms = array(
// Standard node permissions.
'create page content',
'administer content types',
'administer nodes',
'bypass node access',
// Panelizer.
'administer panelizer',
// Pathauto.
'create url aliases',
);
$web_user = $this
->drupalCreateUser($perms);
$this
->drupalLogin($web_user);
}
/**
* Confirm that saving the Panelizer page doesn't remove the Pathauto alias.
*/
function testNodeSave() {
// Enable Panelizer for the 'page' content type.
$this
->togglePanelizer();
// Enable the Panels view mode too.
$this
->simpleEnablePage('node_view');
// Create a node and give it a custom alias.
$args = array(
'path[pathauto]' => FALSE,
'path[alias]' => 'test-page',
);
$node = $this
->createNode($args);
// Confirm the node loads from the custom alias.
$this
->drupalGet('test-page');
$this
->assertResponse(200);
$this
->assertText($node->title);
$this
->assertLink('Customize display', 0, 'The customize display link appears on the page');
$this
->assertLinkByHref('node/' . $node->nid . '/panelizer', 0, 'A link to customize the node appears on the page');
// Update its Panelizer display.
$this
->drupalGet('node/' . $node->nid . '/panelizer/page_manager/settings');
$this
->assertResponse(200);
$this
->assertFieldByName('css_class');
$args = array(
'css_class' => 'panelizer-test',
);
$this
->drupalPost(NULL, $args, t('Save'));
// Confirm the settings saved correctly.
$this
->assertText(t('The settings have been updated.'));
// Confirm that settings have been saved for this entity.
$records = $this
->getPanelizerEntityRecords('node', $node->nid);
$this
->assertTrue(count($records));
// Load the page again from its system path and confirm that the display
// has been customized.
$this
->drupalGet('node/' . $node->nid);
$elements = $this
->xpath('//body[contains(@class,:class)]', array(
':class' => 'panelizer-test',
));
$this
->assertEqual(count($elements), 1, 'The node is using the overridden display.');
// Confirm that the node alias still works.
$this
->drupalGet('test-page');
$this
->assertResponse(200);
$this
->assertText($node->title);
$this
->assertLink('Customize display', 0, 'The customize display link appears on the page');
$this
->assertLinkByHref('node/' . $node->nid . '/panelizer', 0, 'A link to customize the node appears on the page');
$elements = $this
->xpath('//body[contains(@class,:class)]', array(
':class' => 'panelizer-test',
));
$this
->assertEqual(count($elements), 1, 'The node is using the overridden display.');
}
}
Classes
Name | Description |
---|---|
PanelizerWithPathautoTest |