ILIAS  trunk Revision v11.0_alpha-1715-g7fc467680fb
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
ilExercisePlaceHolderValuesTest.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
22 
23 use ilObject;
24 use ilObjUser;
25 use ilLanguage;
33 
37 class ilExercisePlaceholderValuesTest extends TestCase
38 {
39  public function testGetPlaceholderValues(): void
40  {
41  $defaultPlaceholders = $this->getMockBuilder(ilDefaultPlaceholderValues::class)
42  ->disableOriginalConstructor()
43  ->getMock();
44 
45  $language = $this->getMockBuilder(ilLanguage::class)
46  ->disableOriginalConstructor()
47  ->getMock();
48 
49  $language->method('txt')
50  ->willReturn('Some Translation');
51 
52  $objectMock = $this->getMockBuilder(ilObject::class)
53  ->disableOriginalConstructor()
54  ->getMock();
55 
56  $objectMock->expects($this->once())
57  ->method('getTitle')
58  ->willReturn('Some Title');
59 
60  $objectHelper = $this->getMockBuilder(ilCertificateObjectHelper::class)
61  ->getMock();
62 
63  $user_object = $this->getMockBuilder(ilObjUser::class)
64  ->disableOriginalConstructor()
65  ->getMock();
66 
67  $objectHelper = $this->getMockBuilder(ilCertificateObjectHelper::class)
68  ->getMock();
69  $objectHelper->expects($this->exactly(2))
70  ->method('getInstanceByObjId')
71  ->willReturnMap(
72  [
73  [200, $objectMock],
74  [10, $user_object]
75  ]
76  );
77 
78  $lpMarksHelper = $this->getMockBuilder(ilCertificateLPMarksHelper::class)
79  ->getMock();
80 
81  $lpMarksHelper->expects($this->once())
82  ->method('lookUpMark')
83  ->willReturn('400');
84 
85  $exerciseMemberHelper = $this->getMockBuilder(CertificateExerciseMembersHelper::class)
86  ->getMock();
87 
88  $lpStatusHelper = $this->getMockBuilder(ilCertificateLPStatusHelper::class)
89  ->getMock();
90 
91  $lpStatusHelper->method('lookupStatusChanged')
92  ->willReturn('aaa');
93 
94  $utilHelper = $this->getMockBuilder(ilCertificateUtilHelper::class)
95  ->disableOriginalConstructor()
96  ->getMock();
97 
98  $utilHelper->expects($this->exactly(2))
99  ->method('prepareFormOutput')
100  ->willReturn('Some Formatted Output');
101 
102  $dateHelper = $this->getMockBuilder(ilCertificateDateHelper::class)
103  ->getMock();
104 
105  $dateHelper->expects($this->once())
106  ->method('formatDate')
107  ->willReturn('2018-09-10');
108 
109  $dateHelper->expects($this->once())
110  ->method('formatDateTime')
111  ->willReturn('2018-09-10 12:01:33');
112 
113  $placeHolderObject = new ExercisePlaceholderValues(
114  $defaultPlaceholders,
115  $language,
116  $objectHelper,
117  $lpMarksHelper,
118  $exerciseMemberHelper,
119  $lpStatusHelper,
120  $utilHelper,
121  $dateHelper
122  );
123 
124  $result = $placeHolderObject->getPlaceholderValues(100, 200);
125 
126  $this->assertSame(
127  [
128  'RESULT_MARK' => 'Some Formatted Output',
129  'EXERCISE_TITLE' => 'Some Formatted Output',
130  'DATE_COMPLETED' => '2018-09-10',
131  'DATETIME_COMPLETED' => '2018-09-10 12:01:33'
132  ],
133  $result
134  );
135  }
136 
137  public function testGetPlaceholderValuesForPreview(): void
138  {
139  $defaultPlaceholders = $this->getMockBuilder(ilDefaultPlaceholderValues::class)
140  ->disableOriginalConstructor()
141  ->getMock();
142 
143  $language = $this->getMockBuilder(ilLanguage::class)
144  ->disableOriginalConstructor()
145  ->getMock();
146 
147  $language->method('txt')
148  ->willReturn('Something');
149 
150  $objectMock = $this->getMockBuilder(ilObject::class)
151  ->disableOriginalConstructor()
152  ->getMock();
153 
154  $objectMock->method('getTitle')
155  ->willReturn('SomeTitle');
156 
157  $objectHelper = $this->getMockBuilder(ilCertificateObjectHelper::class)
158  ->getMock();
159 
160  $objectHelper->method('getInstanceByObjId')
161  ->willReturn($objectMock);
162 
163  $lpMarksHelper = $this->getMockBuilder(ilCertificateLPMarksHelper::class)
164  ->getMock();
165 
166  $exerciseMemberHelper = $this->getMockBuilder(CertificateExerciseMembersHelper::class)
167  ->getMock();
168 
169  $lpStatusHelper = $this->getMockBuilder(ilCertificateLPStatusHelper::class)
170  ->getMock();
171 
172  $utilHelper = $this->getMockBuilder(ilCertificateUtilHelper::class)
173  ->disableOriginalConstructor()
174  ->getMock();
175 
176  $utilHelper->method('prepareFormOutput')
177  ->willReturnCallback(function ($input) {
178  return $input;
179  });
180 
181  $dateHelper = $this->getMockBuilder(ilCertificateDateHelper::class)
182  ->getMock();
183 
184  $defaultPlaceholders
185  ->expects($this->atLeastOnce())
186  ->method('getPlaceholderValuesForPreview')
187  ->willReturn(['SOME_PLACEHOLDER' => 'something']);
188 
189  $placeHolderObject = new ExercisePlaceholderValues(
190  $defaultPlaceholders,
191  $language,
192  $objectHelper,
193  $lpMarksHelper,
194  $exerciseMemberHelper,
195  $lpStatusHelper,
196  $utilHelper,
197  $dateHelper
198  );
199 
200  $result = $placeHolderObject->getPlaceholderValuesForPreview(100, 10);
201 
202  $this->assertEquals(
203  [
204  'SOME_PLACEHOLDER' => 'something',
205  'RESULT_PASSED' => 'Something',
206  'EXERCISE_TITLE' => 'SomeTitle',
207  'RESULT_MARK' => 'Something'
208  ],
209  $result
210  );
211  }
212 }