63 {
64 $learningHistoryFactory = $this->getMockBuilder('ilLearningHistoryFactory')
65 ->disableOriginalConstructor()
66 ->getMock();
67
68 $language = $this->getMockBuilder('ilLanguage')
69 ->disableOriginalConstructor()
70 ->getMock();
71
72 $language->method('txt')
73 ->willReturnOnConsecutiveCalls(
74 'Certificate for %1$s',
75 '%1$s achieved.',
76 'Certificate for %1$s',
77 '%1$s achieved.'
78 );
79
80 $dic = $this->getMockBuilder(
'\ILIAS\DI\Container')
81 ->disableOriginalConstructor()
82 ->getMock();
83
84 $template = $this->getMockBuilder('ilTemplate')
85 ->disableOriginalConstructor()
86 ->getMock();
87
88 $template->method('get')
89 ->willReturnOnConsecutiveCalls('Course Title', 'Test Title');
90
91 $userCertificateRepository = $this->getMockBuilder('ilUserCertificateRepository')
92 ->disableOriginalConstructor()
93 ->getMock();
94
95 $userCertificateRepository->method('fetchActiveCertificatesInIntervalForPresentation')
96 ->willReturn(
97 array(
99 200,
100 'crs',
102 1,
103 200,
104 'crs',
105 300,
106 'Ilyas Odys',
107 123456789,
108 '<xml>Some Content</xml>',
109 '["SOME_PLACEHOLDER"]',
110 null,
111 1,
112 'v5.4.0',
113 true,
114 '/some/where/background_1.jpg',
115 '/some/where/else/thumbnail_1.jpg',
116 40
117 ),
118 'Course Title',
119 'Course Description'
120 ),
122 500,
123 'tst',
125 5,
126 500,
127 'tst',
128 5000,
129 'Ilyas Odys',
130 987654321,
131 '<xml>Some Content</xml>',
132 '["SOME_PLACEHOLDER"]',
133 null,
134 1,
135 'v5.4.0',
136 true,
137 '/some/where/background_1.jpg',
138 '/some/where/else/thumbnail_1.jpg',
139 50
140 ),
141 'Test Title',
142 'Test Description'
143 )
144 )
145 );
146
147 $controller = $this->getMockBuilder('ilCtrl')
148 ->disableOriginalConstructor()
149 ->getMock();
150
151 $controller
152 ->expects($this->exactly(2))
153 ->method('getLinkTargetByClass')
154 ->willReturn('<a href> </a>');
155
156 $controller
157 ->expects($this->exactly(2))
158 ->method('clearParametersByClass');
159
160 $controller
161 ->expects($this->exactly(2))
162 ->method('setParameterByClass');
163
164 $certificateSettings = $this->getMockBuilder('ilSetting')
165 ->disableOriginalConstructor()
166 ->getMock();
167
168 $certificateSettings->method('get')
169 ->willReturn(true);
170
171 $uiFactory = $this->getMockBuilder('ILIAS\UI\Factory')
172 ->disableOriginalConstructor()
173 ->getMock();
174
175 $link = $this->getMockBuilder('\ILIAS\UI\Component\Link\Factory')
176 ->disableOriginalConstructor()
177 ->getMock();
178
179 $std_link = $this->getMockBuilder('\ILIAS\UI\Component\Link\Standard')
180 ->disableOriginalConstructor()
181 ->getMock();
182
183 $link->method('standard')
184 ->withConsecutive(
185 array('Course Title', '<a href> </a>'),
186 array('Test Title', '<a href> </a>')
187 )
188 ->willReturn($std_link);
189
190 $uiFactory->method('link')
191 ->willReturn($link);
192
193 $uiRenderer = $this->getMockBuilder('ILIAS\UI\Renderer')
194 ->disableOriginalConstructor()
195 ->getMock();
196
197 $uiRenderer->method('render')
198 ->with($std_link)
199 ->willReturn('link');
200
201 $utilHelper = $this->getMockBuilder('ilCertificateUtilHelper')
202 ->disableOriginalConstructor()
203 ->getMock();
204
205 $utilHelper->method('getImagePath')
206 ->willReturn('/some/acutal/image/path/background.png');
207
209 10,
210 $learningHistoryFactory,
211 $language,
212 $template,
214 $userCertificateRepository,
215 $controller,
216 $certificateSettings,
217 $uiFactory,
218 $uiRenderer,
219 $utilHelper
220 );
221
222 $expectedEntries = array(
224 'Certificate for link achieved.',
225 'Certificate for link achieved.',
226 '/some/acutal/image/path/background.png',
227 123456789,
228 200
229 ),
231 'Certificate for link achieved.',
232 'Certificate for link achieved.',
233 '/some/acutal/image/path/background.png',
234 987654321,
235 500
236 ),);
237
238 $actualEntries = $provider->getEntries(123456789, 987654321);
239 $this->assertEquals($expectedEntries, $actualEntries);
240 }