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