function DashboardBlocksTestCase::testBlockAvailability

Tests that administrative blocks are available for the dashboard.

File

modules/dashboard/dashboard.test, line 120

Class

DashboardBlocksTestCase
Tests the Dashboard module blocks.

Code

function testBlockAvailability() {
    // Test "Recent comments", which should be available (defined as
    // "administrative") but not enabled.
    $this->drupalGet('admin/dashboard');
    $this->assertNoText(t('Recent comments'), '"Recent comments" not on dashboard.');
    $this->drupalGet('admin/dashboard/drawer');
    $this->assertText(t('Recent comments'), 'Drawer of disabled blocks includes a block defined as "administrative".');
    $this->assertNoText(t('Syndicate'), 'Drawer of disabled blocks excludes a block not defined as "administrative".');
    $this->drupalGet('admin/dashboard/configure');
    $elements = $this->xpath('//select[@id=:id]//option[@selected="selected"]', array(
        ':id' => 'edit-blocks-comment-recent-region',
    ));
    $this->assertTrue($elements[0]['value'] == 'dashboard_inactive', 'A block defined as "administrative" defaults to dashboard_inactive.');
    // Now enable the block on the dashboard.
    $values = array();
    $values['blocks[comment_recent][region]'] = 'dashboard_main';
    $this->drupalPost('admin/dashboard/configure', $values, t('Save blocks'));
    $this->drupalGet('admin/dashboard');
    $this->assertText(t('Recent comments'), '"Recent comments" was placed on dashboard.');
    $this->drupalGet('admin/dashboard/drawer');
    $this->assertNoText(t('Recent comments'), 'Drawer of disabled blocks excludes enabled blocks.');
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.