farm-2.x-dev/modules/asset/group/tests/src/Functional/GroupTest.php
modules/asset/group/tests/src/Functional/GroupTest.php
<?php namespace Drupal\Tests\farm_group\Functional; use Drupal\FunctionalJavascriptTests\WebDriverTestBase; use Drupal\log\Entity\Log; /** * Tests for farmOS group membership logic. * * @group farm */ class GroupTest extends WebDriverTestBase { /** * {@inheritdoc} */ protected $profile = 'farm'; /** * {@inheritdoc} */ protected $defaultTheme = 'stark'; /** * {@inheritdoc} */ protected static $modules = [ 'farm_group', 'farm_group_test', ]; /** * {@inheritdoc} */ protected function setUp(): void { $GLOBALS['farm_test'] = TRUE; parent::setUp(); // Create and login a user with permission to administer logs. $user = $this->createUser(['administer log']); $this->drupalLogin($user); } /** * Test group field visibility. */ public function testGroupFieldVisibility() { // Create a log for testing. /** @var \Drupal\log\Entity\LogInterface $log */ $log = Log::create([ 'type' => 'test', ]); $log->save(); // Go to the log edit form. $this->drupalGet('log/' . $log->id() . '/edit'); // Test that the group field is hidden. $page = $this->getSession()->getPage(); $group_field = $page->findById('edit-group-wrapper'); $this->assertNotEmpty($group_field); $this->assertFalse($group_field->isVisible()); // Make the log a group assignment. $log->is_group_assignment = TRUE; $log->save(); // Go back to the edit form. $this->drupalGet('log/' . $log->id() . '/edit'); // Test that the group field is visible. $page = $this->getSession()->getPage(); $group_field = $page->findById('edit-group-wrapper'); $this->assertNotEmpty($group_field); $this->assertTrue($group_field->isVisible()); } }