'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('' . t('Feedback') . '', 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('' . t('Feedback') . '', 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.')); } }