function StatisticsAdminTestCase::testStatisticsSettings

Verifies that the statistics settings page works.

File

modules/statistics/statistics.test, line 347

Class

StatisticsAdminTestCase
Tests the statistics administration screen.

Code

function testStatisticsSettings() {
    $this->assertFalse(variable_get('statistics_enable_access_log', 0), 'Access log is disabled by default.');
    $this->assertFalse(variable_get('statistics_count_content_views', 0), 'Count content view log is disabled by default.');
    $this->drupalGet('admin/reports/pages');
    $this->assertRaw(t('No statistics available.'), 'Verifying text shown when no statistics is available.');
    // Enable access log and counter on content view.
    $edit['statistics_enable_access_log'] = 1;
    $edit['statistics_count_content_views'] = 1;
    $this->drupalPost('admin/config/system/statistics', $edit, t('Save configuration'));
    $this->assertTrue(variable_get('statistics_enable_access_log'), 'Access log is enabled.');
    $this->assertTrue(variable_get('statistics_count_content_views'), 'Count content view log is enabled.');
    // Hit the node.
    $this->drupalGet('node/' . $this->test_node->nid);
    $this->drupalGet('admin/reports/pages');
    $this->assertText('node/1', 'Test node found.');
    // Hit the node again (the counter is incremented after the hit, so
    // "1 read" will actually be shown when the node is hit the second time).
    $this->drupalGet('node/' . $this->test_node->nid);
    $this->assertText('1 read', 'Node is read once.');
    $this->drupalGet('node/' . $this->test_node->nid);
    $this->assertText('2 reads', 'Node is read 2 times.');
}

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