Issue #2212869 by hellboy2k8, leevingo, naveenvalecha, Grimreaper, subhojit777, poojasharmaece, kellyimagined, ZeiP, kostyashupenko, andypost, jibran: Extend ContactAuthenticatedUserTest for anonymous user

8.4.x
Nathaniel Catchpole 2017-06-26 13:11:02 +01:00
parent bae3b3d7a6
commit 0e005bbca7
2 changed files with 21 additions and 35 deletions

View File

@ -1,35 +0,0 @@
<?php
namespace Drupal\Tests\contact\Functional;
use Drupal\Tests\BrowserTestBase;
/**
* Tests contact form textfields are present if authenticated.
*
* @group contact
*/
class ContactAuthenticatedUserTest extends BrowserTestBase {
/**
* Modules to enable.
*
* @var array
*/
public static $modules = ['contact'];
/**
* Tests that name and email fields are not present for authenticated users.
*/
public function testContactSiteWideTextfieldsLoggedInTestCase() {
$this->drupalLogin($this->drupalCreateUser(['access site-wide contact form']));
$this->drupalGet('contact');
// Ensure that there is no textfield for name.
$this->assertFalse($this->xpath('//input[@name=:name]', [':name' => 'name']));
// Ensure that there is no textfield for email.
$this->assertFalse($this->xpath('//input[@name=:name]', [':name' => 'mail']));
}
}

View File

@ -44,6 +44,27 @@ class ContactSitewideTest extends BrowserTestBase {
* Tests configuration options and the site-wide contact form.
*/
public function testSiteWideContact() {
// Tests name and email fields for authenticated and anonymous users.
$this->drupalLogin($this->drupalCreateUser(['access site-wide contact form']));
$this->drupalGet('contact');
// Ensure that there is no textfield for name.
$this->assertFalse($this->xpath('//input[@name=:name]', [':name' => 'name']));
// Ensure that there is no textfield for email.
$this->assertFalse($this->xpath('//input[@name=:name]', [':name' => 'mail']));
// Logout and retrieve the page as an anonymous user
$this->drupalLogout();
user_role_grant_permissions('anonymous', ['access site-wide contact form']);
$this->drupalGet('contact');
// Ensure that there is textfield for name.
$this->assertTrue($this->xpath('//input[@name=:name]', [':name' => 'name']));
// Ensure that there is textfield for email.
$this->assertTrue($this->xpath('//input[@name=:name]', [':name' => 'mail']));
// Create and log in administrative user.
$admin_user = $this->drupalCreateUser([
'access site-wide contact form',