10 {
11 $defaultPlaceholderValues = $this->getMockBuilder(ilDefaultPlaceholderValues::class)
12 ->disableOriginalConstructor()
13 ->getMock();
14
15 $language = $this->getMockBuilder(ilLanguage::class)
16 ->disableOriginalConstructor()
17 ->getMock();
18
19 $language->method('txt')
20 ->willReturnCallback(function ($variableValue) {
21 if ($variableValue === 'lang_sep_decimal') {
22 return ',';
23 } elseif ($variableValue === 'lang_sep_thousand') {
24 return '.';
25 }
26
27 return 'Some Translation: ' . $variableValue;
28 });
29
30 $language->expects($this->once())
31 ->method('loadLanguageModule');
32
33 $dateHelper = $this->getMockBuilder(ilCertificateDateHelper::class)
34 ->getMock();
35
36 $objectMock = $this->getMockBuilder(ilObjSAHSLearningModule::class)
37 ->disableOriginalConstructor()
38 ->onlyMethods(['getPointsInPercent', 'getMaxPoints', 'getTitle', 'getId'])
39 ->getMock();
40
41 $objectMock->method('getPointsInPercent')
42 ->willReturn(100);
43
44 $objectMock->method('getMaxPoints')
45 ->willReturn(100);
46
47 $objectMock->method('getTitle')
48 ->willReturn('SomeTitle');
49
50 $objectMock->method('getId')
51 ->willReturn(500);
52
53 $objectHelper = $this->getMockBuilder(ilCertificateObjectHelper::class)
54 ->getMock();
55
56 $objectHelper->method('getInstanceByObjId')
57 ->willReturn($objectMock);
58
59 $utilHelper = $this->getMockBuilder(ilCertificateUtilHelper::class)
60 ->getMock();
61
62 $utilHelper->method('prepareFormOutput')
63 ->willReturn('Formatted String');
64
65 $objectLPHelper = $this->getMockBuilder(ilCertificateObjectLPHelper::class)
66 ->getMock();
67
68 $lpCollection = $this->getMockBuilder(ilLPCollectionOfSCOs::class)
69 ->disableOriginalConstructor()
70 ->onlyMethods(['getPossibleItems', 'getScoresForUserAndCP_Node_Id', 'isAssignedEntry'])
71 ->getMock();
72
73 $lpCollection->method('getPossibleItems')
74 ->willReturn(array(100 => array('title' => 'Some Title')));
75
76 $lpCollection->method('getScoresForUserAndCP_Node_Id')
77 ->willReturn(
78 array(
79 'raw' => 100,
80 'max' => 300,
81 'scaled' => 2
82 )
83 );
84
85 $lpCollection->method('isAssignedEntry')
86 ->willReturn(true);
87
88 $olp = $this->getMockBuilder(ilObjectLP::class)
89 ->disableOriginalConstructor()
90 ->onlyMethods(['getCollectionInstance'])
91 ->getMock();
92
93 $olp->method('getCollectionInstance')
94 ->willReturn($lpCollection);
95
96 $objectLPHelper->method('getInstance')
97 ->willReturn($olp);
98
99 $lpStatusHelper = $this->getMockBuilder(ilCertificateLPStatusHelper::class)
100 ->getMock();
101
102 $lpStatusHelper->method('lookupStatusChanged')
103 ->willReturn('2018-12-01 13:00:11');
104
106 $defaultPlaceholderValues,
107 $language,
108 $dateHelper,
109 $objectHelper,
110 $utilHelper,
111 $objectLPHelper,
112 $lpStatusHelper
113 );
114
115 $result = $scormPlaceholderValues->getPlaceholderValues(10, 200);
116
117 $this->assertEquals(
118 array(
119 'SCORM_TITLE' => 'Formatted String',
120 'SCORM_POINTS' => '100,0 %',
121 'SCORM_POINTS_MAX' => 100,
122 'SCO_T_0' => 'Some Title',
123 'SCO_P_0' => '100,0',
124 'SCO_PM_0' => '300,0',
125 'SCO_PP_0' => '200,0 %',
126 'DATE_COMPLETED' => '',
127 'DATETIME_COMPLETED' => ''
128 ),
130 );
131 }