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 }
|