Chris@0
|
1 <?php
|
Chris@0
|
2
|
Chris@0
|
3 namespace Drupal\simpletest\Tests;
|
Chris@0
|
4
|
Chris@0
|
5 use Drupal\simpletest\WebTestBase;
|
Chris@0
|
6
|
Chris@0
|
7 /**
|
Chris@0
|
8 * Tests a test case with missing requirements.
|
Chris@0
|
9 *
|
Chris@0
|
10 * @group simpletest
|
Chris@18
|
11 * @group WebTestBase
|
Chris@0
|
12 */
|
Chris@0
|
13 class MissingCheckedRequirementsTest extends WebTestBase {
|
Chris@0
|
14
|
Chris@0
|
15 /**
|
Chris@0
|
16 * Modules to enable.
|
Chris@0
|
17 *
|
Chris@0
|
18 * @var array
|
Chris@0
|
19 */
|
Chris@0
|
20 public static $modules = ['simpletest'];
|
Chris@0
|
21
|
Chris@0
|
22 protected function setUp() {
|
Chris@0
|
23 parent::setUp();
|
Chris@0
|
24 $admin_user = $this->drupalCreateUser(['administer unit tests']);
|
Chris@0
|
25 $this->drupalLogin($admin_user);
|
Chris@0
|
26 }
|
Chris@0
|
27
|
Chris@0
|
28 /**
|
Chris@0
|
29 * Overrides checkRequirements().
|
Chris@0
|
30 */
|
Chris@0
|
31 protected function checkRequirements() {
|
Chris@0
|
32 if ($this->isInChildSite()) {
|
Chris@0
|
33 return [
|
Chris@17
|
34 'Test is not allowed to run.',
|
Chris@0
|
35 ];
|
Chris@0
|
36 }
|
Chris@0
|
37 return parent::checkRequirements();
|
Chris@0
|
38 }
|
Chris@0
|
39
|
Chris@0
|
40 /**
|
Chris@0
|
41 * Ensures test will not run when requirements are missing.
|
Chris@0
|
42 */
|
Chris@0
|
43 public function testCheckRequirements() {
|
Chris@0
|
44 // If this is the main request, run the web test script and then assert
|
Chris@0
|
45 // that the child tests did not run.
|
Chris@0
|
46 if (!$this->isInChildSite()) {
|
Chris@0
|
47 // Run this test from web interface.
|
Chris@0
|
48 $edit['tests[Drupal\simpletest\Tests\MissingCheckedRequirementsTest]'] = TRUE;
|
Chris@0
|
49 $this->drupalPostForm('admin/config/development/testing', $edit, t('Run tests'));
|
Chris@0
|
50 $this->assertRaw('Test is not allowed to run.', 'Test check for requirements came up.');
|
Chris@0
|
51 $this->assertNoText('Test ran when it failed requirements check.', 'Test requirements stopped test from running.');
|
Chris@0
|
52 }
|
Chris@0
|
53 else {
|
Chris@0
|
54 $this->fail('Test ran when it failed requirements check.');
|
Chris@0
|
55 }
|
Chris@0
|
56 }
|
Chris@0
|
57
|
Chris@0
|
58 }
|