ILIAS  release_9 Revision v9.13-25-g2c18ec4c24f
ilCoursePlaceholderValuesTest.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
25 {
26  public function testGetPlaceholderValues(): void
27  {
28  $customUserFieldsPlaceholderValues = $this->getMockBuilder(ilObjectCustomUserFieldsPlaceholderValues::class)
29  ->disableOriginalConstructor()
30  ->getMock();
31 
32  $customUserFieldsPlaceholderValues->method('getPlaceholderValues')
33  ->willReturn([]);
34 
35  $defaultPlaceholderValues = $this->getMockBuilder(ilDefaultPlaceholderValues::class)
36  ->disableOriginalConstructor()
37  ->getMock();
38 
39  $defaultPlaceholderValues->method('getPlaceholderValues')
40  ->willReturn([]);
41 
42  $language = $this->getMockBuilder(ilLanguage::class)
43  ->disableOriginalConstructor()
44  ->getMock();
45 
46  $language->method('txt')
47  ->willReturn('Something');
48 
49  $objectMock = $this->getMockBuilder(ilObjCourse::class)
50  ->disableOriginalConstructor()
51  ->getMock();
52 
53  $objectMock->method('getTitle')
54  ->willReturn('Some Title');
55 
56  $obj_translation = $this->getMockBuilder(ilObjectTranslation::class)
57  ->disableOriginalConstructor()
58  ->getMock();
59 
60  $german = $this->createMock(ilObjectTranslationLanguage::class);
61  $german->method('getLanguageCode')
62  ->willReturn('de');
63 
64  $english = $this->createMock(ilObjectTranslationLanguage::class);
65  $english->method('getLanguageCode')
66  ->willReturn('en');
67 
68  $obj_translation->method('getLanguages')
69  ->willReturn([
70  $german,
71  $english
72  ]);
73 
74  $objectMock->method('getObjectTranslation')
75  ->willReturn($obj_translation);
76 
77  $objectHelper = $this->getMockBuilder(ilCertificateObjectHelper::class)
78  ->getMock();
79 
80  $objectHelper->method('getInstanceByObjId')
81  ->willReturn($objectMock);
82 
83  $participantsHelper = $this->getMockBuilder(ilCertificateParticipantsHelper::class)
84  ->getMock();
85 
86  $participantsHelper->method('getDateTimeOfPassed')
87  ->willReturn('2018-09-10');
88 
89  $ilUtilHelper = $this->getMockBuilder(ilCertificateUtilHelper::class)
90  ->disableOriginalConstructor()
91  ->getMock();
92 
93  $ilUtilHelper->method('prepareFormOutput')
94  ->willReturn('Some Title');
95 
96  $ilDateHelper = $this->getMockBuilder(ilCertificateDateHelper::class)
97  ->getMock();
98 
99  $ilDateHelper->method('formatDate')
100  ->willReturn('2018-09-10');
101 
102  $ilDateHelper->method('formatDateTime')
103  ->willReturn('2018-09-10 10:32:00');
104 
105  $database = $this->getMockBuilder(ilDBInterface::class)
106  ->getMock();
107 
108  $this->setGlobalVariable('ilDB', $database);
109  $this->setGlobalVariable('lng', $language);
110 
111  $valuesObject = new ilCoursePlaceholderValues(
112  $customUserFieldsPlaceholderValues,
113  $defaultPlaceholderValues,
114  $language,
115  $objectHelper,
116  $participantsHelper,
117  $ilUtilHelper,
118  $ilDateHelper,
119  );
120 
121  $placeholderValues = $valuesObject->getPlaceholderValues(100, 200);
122 
123  $this->assertEquals(
124  [
125  'COURSE_TITLE' => 'Some Title',
126  'DATE_COMPLETED' => '2018-09-10',
127  'DATETIME_COMPLETED' => '2018-09-10 10:32:00'
128  ],
129  $placeholderValues
130  );
131  }
132 
133  public function testGetPreviewPlaceholderValues(): void
134  {
135  $customUserFieldsPlaceholderValues = $this->getMockBuilder(ilObjectCustomUserFieldsPlaceholderValues::class)
136  ->disableOriginalConstructor()
137  ->getMock();
138 
139  $customUserFieldsPlaceholderValues->method('getPlaceholderValuesForPreview')
140  ->willReturn(
141  [
142  'SOME_PLACEHOLDER' => 'ANYTHING',
143  'SOME_OTHER_PLACEHOLDER' => '2018-09-10',
144  ]
145  );
146 
147  $defaultPlaceholderValues = $this->getMockBuilder(ilDefaultPlaceholderValues::class)
148  ->disableOriginalConstructor()
149  ->getMock();
150 
151  $defaultPlaceholderValues->method('getPlaceholderValuesForPreview')
152  ->willReturn(
153  [
154  'SOME_PLACEHOLDER' => 'ANYTHING',
155  'SOME_OTHER_PLACEHOLDER' => '2018-09-10',
156  ]
157  );
158 
159  $language = $this->getMockBuilder(ilLanguage::class)
160  ->disableOriginalConstructor()
161  ->getMock();
162 
163  $language->method('txt')
164  ->willReturn('Something');
165 
166  $objectMock = $this->getMockBuilder(ilObjCourse::class)
167  ->disableOriginalConstructor()
168  ->getMock();
169 
170  $objectMock->method('getTitle')
171  ->willReturn('SomeTitle');
172 
173  $obj_translation = $this->getMockBuilder(ilObjectTranslation::class)
174  ->disableOriginalConstructor()
175  ->getMock();
176 
177  $german = $this->createMock(ilObjectTranslationLanguage::class);
178  $german->method('getLanguageCode')
179  ->willReturn('de');
180 
181  $english = $this->createMock(ilObjectTranslationLanguage::class);
182  $english->method('getLanguageCode')
183  ->willReturn('en');
184 
185  $obj_translation->method('getLanguages')
186  ->willReturn([
187  $german,
188  $english
189  ]);
190 
191  $objectMock->method('getObjectTranslation')
192  ->willReturn($obj_translation);
193 
194  $objectHelper = $this->getMockBuilder(ilCertificateObjectHelper::class)
195  ->getMock();
196 
197  $objectHelper->method('getInstanceByObjId')
198  ->willReturn($objectMock);
199 
200  $participantsHelper = $this->getMockBuilder(ilCertificateParticipantsHelper::class)
201  ->getMock();
202 
203  $utilHelper = $this->getMockBuilder(ilCertificateUtilHelper::class)
204  ->disableOriginalConstructor()
205  ->getMock();
206 
207  $utilHelper->method('prepareFormOutput')
208  ->willReturnCallback(function ($input) {
209  return $input;
210  });
211 
212  $database = $this->getMockBuilder(ilDBInterface::class)
213  ->getMock();
214 
215  $this->setGlobalVariable('ilDB', $database);
216  $this->setGlobalVariable('lng', $language);
217 
218  $valuesObject = new ilCoursePlaceholderValues(
219  $customUserFieldsPlaceholderValues,
220  $defaultPlaceholderValues,
221  $language,
222  $objectHelper,
223  $participantsHelper,
224  $utilHelper
225  );
226 
227  $placeholderValues = $valuesObject->getPlaceholderValuesForPreview(100, 10);
228 
229  $this->assertSame(
230  [
231  'SOME_PLACEHOLDER' => 'ANYTHING',
232  'SOME_OTHER_PLACEHOLDER' => '2018-09-10',
233  'COURSE_TITLE' => 'SomeTitle'
234  ],
235  $placeholderValues
236  );
237  }
238 }
Class ilCertificateBaseTestCase.
setGlobalVariable(string $name, $value)