Chris@0
|
1 <?php
|
Chris@0
|
2
|
Chris@0
|
3 namespace Drupal\Tests\tour\Functional;
|
Chris@0
|
4
|
Chris@0
|
5 /**
|
Chris@0
|
6 * Simple tour tips test base.
|
Chris@0
|
7 */
|
Chris@0
|
8 abstract class TourTestBasic extends TourTestBase {
|
Chris@0
|
9
|
Chris@0
|
10 /**
|
Chris@0
|
11 * Tour tip attributes to be tested. Keyed by the path.
|
Chris@0
|
12 *
|
Chris@0
|
13 * @var array
|
Chris@0
|
14 * An array of tip attributes, keyed by path.
|
Chris@0
|
15 *
|
Chris@0
|
16 * @code
|
Chris@0
|
17 * protected $tips = array(
|
Chris@0
|
18 * '/foo/bar' => array(
|
Chris@0
|
19 * array('data-id' => 'foo'),
|
Chris@0
|
20 * array('data-class' => 'bar'),
|
Chris@0
|
21 * ),
|
Chris@0
|
22 * );
|
Chris@0
|
23 * @endcode
|
Chris@0
|
24 */
|
Chris@0
|
25 protected $tips = [];
|
Chris@0
|
26
|
Chris@0
|
27 /**
|
Chris@0
|
28 * An admin user with administrative permissions for tour.
|
Chris@0
|
29 *
|
Chris@0
|
30 * @var \Drupal\user\UserInterface
|
Chris@0
|
31 */
|
Chris@0
|
32 protected $adminUser;
|
Chris@0
|
33
|
Chris@0
|
34 /**
|
Chris@0
|
35 * The permissions required for a logged in user to test tour tips.
|
Chris@0
|
36 *
|
Chris@0
|
37 * @var array
|
Chris@0
|
38 * A list of permissions.
|
Chris@0
|
39 */
|
Chris@0
|
40 protected $permissions = ['access tour'];
|
Chris@0
|
41
|
Chris@0
|
42 protected function setUp() {
|
Chris@0
|
43 parent::setUp();
|
Chris@0
|
44
|
Chris@0
|
45 // Make sure we are using distinct default and administrative themes for
|
Chris@0
|
46 // the duration of these tests.
|
Chris@0
|
47 $this->container->get('theme_handler')->install(['bartik', 'seven']);
|
Chris@0
|
48 $this->config('system.theme')
|
Chris@0
|
49 ->set('default', 'bartik')
|
Chris@0
|
50 ->set('admin', 'seven')
|
Chris@0
|
51 ->save();
|
Chris@0
|
52
|
Chris@0
|
53 $this->permissions[] = 'view the administration theme';
|
Chris@0
|
54
|
Chris@0
|
55 // Create an admin user to view tour tips.
|
Chris@0
|
56 $this->adminUser = $this->drupalCreateUser($this->permissions);
|
Chris@0
|
57 $this->drupalLogin($this->adminUser);
|
Chris@0
|
58 }
|
Chris@0
|
59
|
Chris@0
|
60 /**
|
Chris@0
|
61 * A simple tip test.
|
Chris@0
|
62 */
|
Chris@0
|
63 public function testTips() {
|
Chris@0
|
64 foreach ($this->tips as $path => $attributes) {
|
Chris@0
|
65 $this->drupalGet($path);
|
Chris@0
|
66 $this->assertTourTips($attributes);
|
Chris@0
|
67 }
|
Chris@0
|
68 }
|
Chris@0
|
69
|
Chris@0
|
70 }
|