ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ilScormPlaceholderDescriptionTest.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
21use PHPUnit\Framework\TestCase;
23
25{
26 public function testPlaceholderGetHtmlDescription(): void
27 {
28 $objectMock = $this->getMockBuilder(ilObject::class)
29 ->disableOriginalConstructor()
30 ->getMock();
31
32 $languageMock = $this->getMockBuilder(ilLanguage::class)
33 ->disableOriginalConstructor()
34 ->onlyMethods(['txt', 'loadLanguageModule'])
35 ->getMock();
36
37 $templateMock = $this->getMockBuilder(ilTemplate::class)
38 ->disableOriginalConstructor()
39 ->getMock();
40
41 $templateMock->method('get')
42 ->willReturn('');
43
44 $collectionInstance = $this->getMockBuilder(ilLPCollectionOfSCOs::class)
45 ->disableOriginalConstructor()
46 ->onlyMethods(['getPossibleItems'])
47 ->getMock();
48
49 $learningProgressMock = $this->getMockBuilder(ilObjectLP::class)
50 ->disableOriginalConstructor()
51 ->onlyMethods(['getCollectionInstance'])
52 ->getMock();
53
54 $collectionInstance->method('getPossibleItems')
55 ->willReturn([0 => ['title' => 'Some SCORM Title']]);
56
57 $learningProgressMock->method('getCollectionInstance')
58 ->willReturn($collectionInstance);
59
60 $userDefinePlaceholderMock = $this->getMockBuilder(ilUserDefinedFieldsPlaceholderDescription::class)
61 ->disableOriginalConstructor()
62 ->getMock();
63
64 $userDefinePlaceholderMock->method('createPlaceholderHtmlDescription')
65 ->willReturn('');
66
67 $userDefinePlaceholderMock->method('getPlaceholderDescriptions')
68 ->willReturn([]);
69
70 $profileMock = $this->getMockBuilder(Profile::class)
71 ->disableOriginalConstructor()
72 ->getMock();
73
74 $placeholderDescriptionObject = new ilScormPlaceholderDescription(
75 $objectMock,
76 null,
77 $languageMock,
78 $learningProgressMock,
79 $userDefinePlaceholderMock,
80 $profileMock
81 );
82
83 $html = $placeholderDescriptionObject->createPlaceholderHtmlDescription($templateMock);
84
85 $this->assertSame('', $html);
86 }
87
88 public function testPlaceholderDescriptions(): void
89 {
90 $objectMock = $this->getMockBuilder(ilObject::class)
91 ->disableOriginalConstructor()
92 ->onlyMethods([])
93 ->getMock();
94
95 $languageMock = $this->getMockBuilder(ilLanguage::class)
96 ->disableOriginalConstructor()
97 ->onlyMethods(['txt', 'loadLanguageModule'])
98 ->getMock();
99
100 $languageMock->expects($this->exactly(22))
101 ->method('txt')
102 ->willReturn('Something translated');
103
104 $learningProgressMock = $this->getMockBuilder(ilObjectLP::class)
105 ->disableOriginalConstructor()
106 ->onlyMethods(['getCollectionInstance'])
107 ->getMock();
108
109 $userDefinePlaceholderMock = $this->getMockBuilder(ilUserDefinedFieldsPlaceholderDescription::class)
110 ->disableOriginalConstructor()
111 ->getMock();
112
113 $userDefinePlaceholderMock->method('createPlaceholderHtmlDescription')
114 ->willReturn('');
115
116 $userDefinePlaceholderMock->method('getPlaceholderDescriptions')
117 ->willReturn([]);
118
119 $profileMock = $this->getMockBuilder(Profile::class)
120 ->disableOriginalConstructor()
121 ->getMock();
122
123 $placeholderDescriptionObject = new ilScormPlaceholderDescription(
124 $objectMock,
125 null,
126 $languageMock,
127 $learningProgressMock,
128 $userDefinePlaceholderMock,
129 $profileMock
130 );
131
132 $placeHolders = $placeholderDescriptionObject->getPlaceholderDescriptions();
133
134 $this->assertSame(
135 [
136 'CERTIFICATE_ID' => 'Something translated',
137 'USER_LOGIN' => 'Something translated',
138 'USER_FULLNAME' => 'Something translated',
139 'USER_FIRSTNAME' => 'Something translated',
140 'USER_LASTNAME' => 'Something translated',
141 'USER_TITLE' => 'Something translated',
142 'USER_SALUTATION' => 'Something translated',
143 'USER_BIRTHDAY' => 'Something translated',
144 'USER_INSTITUTION' => 'Something translated',
145 'USER_DEPARTMENT' => 'Something translated',
146 'USER_STREET' => 'Something translated',
147 'USER_CITY' => 'Something translated',
148 'USER_ZIPCODE' => 'Something translated',
149 'USER_COUNTRY' => 'Something translated',
150 'USER_MATRICULATION' => 'Something translated',
151 'DATE' => 'Something translated',
152 'DATETIME' => 'Something translated',
153 'SCORM_TITLE' => 'Something translated',
154 'SCORM_POINTS' => 'Something translated',
155 'SCORM_POINTS_MAX' => 'Something translated',
156 'DATE_COMPLETED' => 'Something translated',
157 'DATETIME_COMPLETED' => 'Something translated'
158 ],
159 $placeHolders
160 );
161 }
162}