ILIAS  trunk Revision v11.0_alpha-2658-ge2404539063
ilCertificateSettingsExerciseRepositoryTest.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
22 
23 use ilAccess;
24 use ilObject;
25 use ilLanguage;
26 use ilToolbarGUI;
27 use ilCtrlInterface;
33 
38 {
39  public function testCreate(): void
40  {
41  $formMock = $this->getMockBuilder(ilPropertyFormGUI::class)
42  ->disableOriginalConstructor()
43  ->getMock();
44 
45  $object = $this->getMockBuilder(ilObject::class)
46  ->disableOriginalConstructor()
47  ->getMock();
48 
49  $language = $this->getMockBuilder(ilLanguage::class)
50  ->disableOriginalConstructor()
51  ->getMock();
52 
53  $controller = $this->getMockBuilder(ilCtrlInterface::class)
54  ->disableOriginalConstructor()
55  ->getMock();
56 
57  $access = $this->getMockBuilder(ilAccess::class)
58  ->disableOriginalConstructor()
59  ->getMock();
60 
61  $toolbar = $this->getMockBuilder(ilToolbarGUI::class)
62  ->disableOriginalConstructor()
63  ->getMock();
64 
65  $placeholderDescriptionObject = $this->getMockBuilder(ilCertificatePlaceholderDescription::class)
66  ->disableOriginalConstructor()
67  ->getMock();
68 
69  $settingsFormFactory = $this->getMockBuilder(ilCertificateSettingsFormRepository::class)
70  ->disableOriginalConstructor()
71  ->getMock();
72 
73  $settingsFormFactory
74  ->expects($this->once())
75  ->method('createForm')
76  ->willReturn($formMock);
77 
78  $repository = new CertificateSettingsExerciseRepository(
79  $object,
80  '/some/where/',
81  false,
82  $language,
83  $controller,
84  $access,
85  $toolbar,
86  $placeholderDescriptionObject,
87  $settingsFormFactory
88  );
89 
90  $guiMock = $this->getMockBuilder(ilCertificateGUI::class)
91  ->disableOriginalConstructor()
92  ->getMock();
93 
94  $result = $repository->createForm($guiMock);
95 
96  $this->assertSame($formMock, $result);
97  }
98 
99  #[\PHPUnit\Framework\Attributes\DoesNotPerformAssertions]
100  public function testSave(): void
101  {
102  $object = $this->getMockBuilder(ilObject::class)
103  ->disableOriginalConstructor()
104  ->getMock();
105 
106  $object
107  ->method('getId')
108  ->willReturn(100);
109 
110  $language = $this->getMockBuilder(ilLanguage::class)
111  ->disableOriginalConstructor()
112  ->getMock();
113 
114  $controller = $this->getMockBuilder(ilCtrlInterface::class)
115  ->disableOriginalConstructor()
116  ->getMock();
117 
118  $access = $this->getMockBuilder(ilAccess::class)
119  ->disableOriginalConstructor()
120  ->getMock();
121 
122  $toolbar = $this->getMockBuilder(ilToolbarGUI::class)
123  ->disableOriginalConstructor()
124  ->getMock();
125 
126  $placeholderDescriptionObject = $this->getMockBuilder(ilCertificatePlaceholderDescription::class)
127  ->disableOriginalConstructor()
128  ->getMock();
129 
130  $settingsFormFactory = $this->getMockBuilder(ilCertificateSettingsFormRepository::class)
131  ->disableOriginalConstructor()
132  ->getMock();
133 
135  $object,
136  '/some/where/',
137  false,
138  $language,
139  $controller,
140  $access,
141  $toolbar,
142  $placeholderDescriptionObject,
143  $settingsFormFactory
144  );
145  }
146 
147  public function testFormFieldData(): void
148  {
149  $object = $this->getMockBuilder(ilObject::class)
150  ->disableOriginalConstructor()
151  ->getMock();
152 
153  $object
154  ->method('getId')
155  ->willReturn(100);
156 
157  $language = $this->getMockBuilder(ilLanguage::class)
158  ->disableOriginalConstructor()
159  ->getMock();
160 
161  $controller = $this->getMockBuilder(ilCtrlInterface::class)
162  ->disableOriginalConstructor()
163  ->getMock();
164 
165  $access = $this->getMockBuilder(ilAccess::class)
166  ->disableOriginalConstructor()
167  ->getMock();
168 
169  $toolbar = $this->getMockBuilder(ilToolbarGUI::class)
170  ->disableOriginalConstructor()
171  ->getMock();
172 
173  $placeholderDescriptionObject = $this->getMockBuilder(ilCertificatePlaceholderDescription::class)
174  ->disableOriginalConstructor()
175  ->getMock();
176 
177  $settingsFormFactory = $this->getMockBuilder(ilCertificateSettingsFormRepository::class)
178  ->disableOriginalConstructor()
179  ->getMock();
180 
181  $settingsFormFactory
182  ->expects($this->once())
183  ->method('fetchFormFieldData')
184  ->willReturn(['something' => 'value']);
185 
186  $repository = new CertificateSettingsExerciseRepository(
187  $object,
188  '/some/where/',
189  false,
190  $language,
191  $controller,
192  $access,
193  $toolbar,
194  $placeholderDescriptionObject,
195  $settingsFormFactory
196  );
197 
198  $result = $repository->fetchFormFieldData('SomeContent');
199 
200  $this->assertSame(['something' => 'value'], $result);
201  }
202 }