ILIAS  release_8 Revision v8.24
ilTestPlaceHolderValuesTest.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
25{
26 public function testA(): void
27 {
28 $defaultPlaceholderValues = $this->getMockBuilder(ilDefaultPlaceholderValues::class)
29 ->disableOriginalConstructor()
30 ->getMock();
31
32 $language = $this->getMockBuilder(ilLanguage::class)
33 ->disableOriginalConstructor()
34 ->getMock();
35
36 $language->method('txt')
37 ->willReturn('Some Translation');
38
39 $objectHelper = $this->getMockBuilder(ilCertificateObjectHelper::class)
40 ->getMock();
41
42 $testObject = $this->getMockBuilder(ilObjTest::class)
43 ->disableOriginalConstructor()
44 ->getMock();
45
46 $testObject->method('getActiveIdOfUser')
47 ->willReturn(999);
48
49 $testObject->method('getTestResult')
50 ->willReturn(
51 [
52 'test' => [
53 'passed' => true,
54 'total_max_points' => 70,
55 'total_reached_points' => 50
56 ]
57 ]
58 );
59
60 $testObject->method('getTestResult')
61 ->willReturn([]);
62
63
64 $testObject->method('getTitle')
65 ->willReturn(' Some Title');
66
67 $markSchema = $this->getMockBuilder('ASS_MarkSchema')
68 ->disableOriginalConstructor()
69 ->getMock();
70
71 $matchingMark = $this->getMockBuilder('ASS_Mark')
72 ->getMock();
73
74 $matchingMark->method('getShortName')
75 ->willReturn('aaa');
76
77 $matchingMark->method('getOfficialName')
78 ->willReturn('bbb');
79
80 $markSchema->method('getMatchingMark')
81 ->willReturn($matchingMark);
82
83 $testObject->method('getMarkSchema')
84 ->willReturn($markSchema);
85
86 $objectHelper->method('getInstanceByObjId')
87 ->willReturn($testObject);
88
89 $testObjectHelper = $this->getMockBuilder(ilCertificateTestObjectHelper::class)
90 ->getMock();
91
92 $userObjectHelper = $this->getMockBuilder(ilCertificateUserObjectHelper::class)
93 ->getMock();
94
95 $userObjectHelper->method('lookupFields')
96 ->willReturn(['usr_id' => 10]);
97
98 $lpStatusHelper = $this->getMockBuilder(ilCertificateLPStatusHelper::class)
99 ->getMock();
100
101 $lpStatusHelper->method('lookupStatusChanged')
102 ->willReturn('2018-01-12');
103
104 $utilHelper = $this->getMockBuilder(ilCertificateUtilHelper::class)
105 ->getMock();
106
107 $utilHelper->method('prepareFormOutput')
108 ->willReturn('Formatted Output');
109
110 $dateHelper = $this->getMockBuilder(ilCertificateDateHelper::class)
111 ->getMock();
112
113 $dateHelper->method('formatDate')
114 ->willReturn('2018-01-12');
115
116 $dateHelper->method('formatDateTime')
117 ->willReturn('2018-01-12 10:32:01');
118
119 $placeholdervalues = new ilTestPlaceholderValues(
120 $defaultPlaceholderValues,
121 $language,
122 $objectHelper,
123 $testObjectHelper,
124 $userObjectHelper,
125 $lpStatusHelper,
126 $utilHelper,
127 $dateHelper
128 );
129
130 $result = $placeholdervalues->getPlaceholderValues(10, 200);
131
132 $this->assertSame([
133 'RESULT_PASSED' => 'Formatted Output',
134 'RESULT_POINTS' => 'Formatted Output',
135 'RESULT_PERCENT' => '71.43%',
136 'MAX_POINTS' => 'Formatted Output',
137 'RESULT_MARK_SHORT' => 'Formatted Output',
138 'RESULT_MARK_LONG' => 'Formatted Output',
139 'TEST_TITLE' => 'Formatted Output',
140 'DATE_COMPLETED' => '2018-01-12',
141 'DATETIME_COMPLETED' => '2018-01-12 10:32:01'
142
143 ], $result);
144 }
145
147 {
148 $defaultPlaceholderValues = $this->getMockBuilder(ilDefaultPlaceholderValues::class)
149 ->disableOriginalConstructor()
150 ->getMock();
151
152 $defaultPlaceholderValues->method('getPlaceholderValuesForPreview')
153 ->willReturn(
154 [
155 'SOME_PLACEHOLDER' => 'something',
156 'SOME_OTHER_PLACEHOLDER' => 'something else',
157 ]
158 );
159
160 $language = $this->getMockBuilder(ilLanguage::class)
161 ->disableOriginalConstructor()
162 ->getMock();
163
164 $language->method('txt')
165 ->willReturn('Something');
166
167 $objectMock = $this->getMockBuilder(ilObject::class)
168 ->disableOriginalConstructor()
169 ->getMock();
170
171 $objectMock->method('getTitle')
172 ->willReturn('SomeTitle');
173
174 $objectHelper = $this->getMockBuilder(ilCertificateObjectHelper::class)
175 ->getMock();
176
177 $objectHelper->method('getInstanceByObjId')
178 ->willReturn($objectMock);
179
180 $testObjectHelper = $this->getMockBuilder(ilCertificateTestObjectHelper::class)
181 ->getMock();
182
183 $userObjectHelper = $this->getMockBuilder(ilCertificateUserObjectHelper::class)
184 ->getMock();
185
186 $lpStatusHelper = $this->getMockBuilder(ilCertificateLPStatusHelper::class)
187 ->getMock();
188
189 $utilHelper = $this->getMockBuilder(ilCertificateUtilHelper::class)
190 ->getMock();
191
192 $utilHelper->method('prepareFormOutput')
193 ->willReturnCallback(function ($input) {
194 return $input;
195 });
196
197 $dateHelper = $this->getMockBuilder(ilCertificateDateHelper::class)
198 ->getMock();
199
200 $placeholdervalues = new ilTestPlaceholderValues(
201 $defaultPlaceholderValues,
202 $language,
203 $objectHelper,
204 $testObjectHelper,
205 $userObjectHelper,
206 $lpStatusHelper,
207 $utilHelper,
208 $dateHelper
209 );
210
211 $result = $placeholdervalues->getPlaceholderValuesForPreview(100, 10);
212
213 $this->assertSame(
214 [
215 'SOME_PLACEHOLDER' => 'something',
216 'SOME_OTHER_PLACEHOLDER' => 'something else',
217 'RESULT_PASSED' => 'Something',
218 'RESULT_POINTS' => 'Something',
219 'RESULT_PERCENT' => 'Something',
220 'MAX_POINTS' => 'Something',
221 'RESULT_MARK_SHORT' => 'Something',
222 'RESULT_MARK_LONG' => 'Something',
223 'TEST_TITLE' => 'SomeTitle'
224 ],
225 $result
226 );
227 }
228}
Class ilCertificateBaseTestCase.