annotate core/modules/simpletest/tests/src/Functional/SimpletestUiTest.php @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents af1871eacc83
children
rev   line source
Chris@18 1 <?php
Chris@18 2
Chris@18 3 namespace Drupal\Tests\simpletest\Functional;
Chris@18 4
Chris@18 5 use Drupal\Core\Url;
Chris@18 6 use Drupal\KernelTests\KernelTestBaseTest;
Chris@18 7 use Drupal\Tests\action\Unit\Menu\ActionLocalTasksTest;
Chris@18 8 use Drupal\Tests\BrowserTestBase;
Chris@18 9
Chris@18 10 /**
Chris@18 11 * Test various aspects of testing through the UI form.
Chris@18 12 *
Chris@18 13 * @group #slow
Chris@18 14 * @group simpletest
Chris@18 15 */
Chris@18 16 class SimpletestUiTest extends BrowserTestBase {
Chris@18 17
Chris@18 18 /**
Chris@18 19 * {@inheritdoc}
Chris@18 20 */
Chris@18 21 public static $modules = ['simpletest'];
Chris@18 22
Chris@18 23 /**
Chris@18 24 * {@inheritdoc}
Chris@18 25 */
Chris@18 26 protected function setUp() {
Chris@18 27 parent::setUp();
Chris@18 28 $this->drupalLogin($this->createUser(['administer unit tests']));
Chris@18 29 }
Chris@18 30
Chris@18 31 /**
Chris@18 32 * Tests that unit, kernel, and functional tests work through the UI.
Chris@18 33 */
Chris@18 34 public function testTestingThroughUI() {
Chris@18 35 $url = Url::fromRoute('simpletest.test_form');
Chris@18 36 $assertion = $this->assertSession();
Chris@18 37
Chris@18 38 $this->drupalGet($url);
Chris@18 39 $settings = $this->getDrupalSettings();
Chris@18 40 $this->assertTrue(strpos($settings['simpleTest']['images'][0], 'core/misc/menu-collapsed.png') > 0, 'drupalSettings contains a link to core/misc/menu-collapsed.png.');
Chris@18 41
Chris@18 42 // We can not test WebTestBase tests here since they require a valid .htkey
Chris@18 43 // to be created. However this scenario is covered by the testception of
Chris@18 44 // \Drupal\simpletest\Tests\SimpleTestTest.
Chris@18 45 $tests = [
Chris@18 46 // A KernelTestBase test.
Chris@18 47 KernelTestBaseTest::class,
Chris@18 48 // A PHPUnit unit test.
Chris@18 49 ActionLocalTasksTest::class,
Chris@18 50 // A PHPUnit functional test.
Chris@18 51 ThroughUITest::class,
Chris@18 52 ];
Chris@18 53
Chris@18 54 foreach ($tests as $test) {
Chris@18 55 $edit = [
Chris@18 56 "tests[$test]" => TRUE,
Chris@18 57 ];
Chris@18 58 $this->drupalPostForm($url, $edit, t('Run tests'));
Chris@18 59 $assertion->pageTextContains('0 fails, 0 exceptions');
Chris@18 60 }
Chris@18 61 }
Chris@18 62
Chris@18 63 }