feedback.test in Feedback 7.2
Tests for Feedback module.
File
tests/feedback.testView source
<?php
/**
* @file
* Tests for Feedback module.
*/
/**
* Test basic Feedback functionality.
*/
class FeedbackTestCase extends DrupalWebTestCase {
protected $profile = 'testing';
public static function getInfo() {
return array(
'name' => 'Feedback functionality',
'description' => 'Tests basic Feedback module functionality.',
'group' => 'Feedback',
);
}
function setUp() {
// @todo Remove soft-dependency on Block.
parent::setUp(array(
'block',
'feedback',
));
$this->admin_user = $this
->drupalCreateUser(array(
'access feedback form',
'view feedback messages',
'administer feedback',
));
$this->web_user = $this
->drupalCreateUser(array(
'access feedback form',
));
$this
->drupalLogin($this->web_user);
}
/**
* Test a basic feedback message.
*/
function testFeedbackMessage() {
$message = $this
->randomString();
$edit = array(
'message' => $message,
);
$this
->drupalPost('node', $edit, t('Send feedback'));
// Verify the message was recorded.
$this
->drupalLogin($this->admin_user);
$this
->drupalGet('admin/reports/feedback');
$this
->assertRaw(check_plain($message), t('Message found.'));
$this
->assertText('node', t('Originating system path found.'));
$this
->assertLinkByHref(url('node', array(
'absolute' => TRUE,
)), 0, t('Originating absolute URL found.'));
// Verify that we can process the message.
$edit = array(
'feedback-messages[0][1]' => TRUE,
);
$this
->drupalPost(NULL, $edit, t('Submit'));
$this
->assertFieldByName('feedback-messages[1][1]', 1, t('Processed message found.'));
}
/**
* Test visibility settings.
*/
function testFeedbackVisibility() {
$this
->drupalLogin($this->admin_user);
$this
->drupalGet('user');
$this
->assertRaw('<span class="feedback-link">' . t('Feedback') . '</span>', t('Feedback form shown.'));
$edit = array(
'feedback_excluded_paths' => 'user*',
);
$this
->drupalPost('admin/config/user-interface/feedback', $edit, t('Save configuration'));
$this
->drupalGet('user');
$this
->assertNoRaw('<span class="feedback-link">' . t('Feedback') . '</span>', t('Feedback form not shown.'));
}
/**
* Test feedback deletion.
*/
function testFeedbackDelete() {
$this
->drupalLogin($this->admin_user);
$message = $this
->randomString();
$edit = array(
'message' => $message,
);
$this
->drupalPost('node', $edit, t('Send feedback'));
// Verify a delete link is shown.
$this
->drupalGet('admin/reports/feedback');
$this
->assertLinkByHref('admin/reports/feedback/1/delete');
// Verify deletion.
$this
->drupalPost('admin/reports/feedback/1/delete', array(), t('Delete'));
$this
->assertRaw(t('The feedback entry was deleted'), t('Feedback deletion message shown.'));
$this
->assertNoLinkByHref('admin/reports/feedback/1/delete');
$this
->assertNoRaw(check_plain($message), t('Message not found.'));
}
}
Classes
Name | Description |
---|---|
FeedbackTestCase | Test basic Feedback functionality. |