ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ConfigTest.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
22
23use PHPUnit\Framework\TestCase;
26
27require_once __DIR__ . '/ContainerMock.php';
28
29class ConfigTest extends TestCase
30{
31 use ContainerMock;
32
33 public function testConstruct(): void
34 {
35 $this->assertInstanceOf(Config::class, new Config($this->mock(Provide::class)));
36 }
37
38 public function testEditable(): void
39 {
40 $this->assertFalse((new Config($this->mock(Provide::class)))->editable());
41 $this->assertTrue((new Config($this->mock(Provide::class), true))->editable());
42 }
43
44 public function testAllowEditing(): void
45 {
46 $this->assertTrue((new Config($this->mock(Provide::class)))->allowEditing()->editable());
47 }
48
49 public function testEditableLegalDocuments(): void
50 {
51 $readonly = $this->mock(Provide::class);
52 $provide = $this->mockMethod(Provide::class, 'allowEditing', [], $readonly);
53 $this->assertSame($readonly, (new Config($provide))->allowEditing()->legalDocuments());
54 }
55
56 public function testNonEditableLegalDocuments(): void
57 {
58 $provide = $this->mockMethod(Provide::class, 'allowEditing', [], $this->mock(Provide::class), self::never());
59 $this->assertSame($provide, (new Config($provide))->legalDocuments());
60 }
61}