contextual_links_example.test

Functional tests for the contextual_links_example module.

File

contextual_links_example/contextual_links_example.test

View source
<?php


/**
 * @file
 * Functional tests for the contextual_links_example module.
 */

/**
 * Functional tests for the contextual_links_example module.
 *
 * @ingroup contextual_links_example
 */
class ContextualLinksExampleTestCase extends DrupalWebTestCase {
    protected $webUser;
    
    /**
     * {@inheritdoc}
     */
    public static function getInfo() {
        return array(
            'name' => 'Contextual links example functionality',
            'description' => 'Tests the behavior of the contextual links provided by the Contextual links example module.',
            'group' => 'Examples',
        );
    }
    
    /**
     * Enable modules and create user with specific permissions.
     */
    public function setUp() {
        parent::setUp('contextual', 'contextual_links_example');
        $this->webUser = $this->drupalCreateUser(array(
            'access contextual links',
            'administer blocks',
        ));
        $this->drupalLogin($this->webUser);
    }
    
    /**
     * Test the various contextual links that this module defines and displays.
     */
    public function testContextualLinksExample() {
        // Create a node and promote it to the front page. Then view the front page
        // and verify that the "Example action" contextual link works.
        $node = $this->drupalCreateNode(array(
            'type' => 'page',
            'promote' => 1,
        ));
        $this->drupalGet('');
        $this->clickLink(t('Example action'));
        $this->assertUrl('node/' . $node->nid . '/example-action', array(
            'query' => array(
                'destination' => 'node',
            ),
        ));
        // Visit our example overview page and click the third contextual link.
        // This should take us to a page for editing the third object we defined.
        $this->drupalGet('examples/contextual-links');
        $this->clickLink('Edit object', 2);
        $this->assertUrl('examples/contextual-links/3/edit', array(
            'query' => array(
                'destination' => 'examples/contextual-links',
            ),
        ));
        // Enable our module's block, go back to the front page, and click the
        // "Edit object" contextual link that we expect to be there.
        $edit['blocks[contextual_links_example_example][region]'] = 'sidebar_first';
        $this->drupalPost('admin/structure/block', $edit, t('Save blocks'));
        $this->drupalGet('');
        $this->clickLink('Edit object');
        $this->assertUrl('examples/contextual-links/1/edit', array(
            'query' => array(
                'destination' => 'node',
            ),
        ));
    }

}

Classes

Title Deprecated Summary
ContextualLinksExampleTestCase Functional tests for the contextual_links_example module.