ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ilIndividualAssessmentSettingsStorageDBTest.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
21use PHPUnit\Framework\TestCase;
22
24{
25 public function test_createObject(): void
26 {
27 $db = $this->createMock(ilDBInterface::class);
29
30 $this->assertInstanceOf(ilIndividualAssessmentSettingsStorageDB::class, $obj);
31 }
32
33 public function test_createSettings(): void
34 {
35 $obj_id = 10;
36 $title = 'My iass';
37 $description = 'Special iass for members';
38 $content = 'Everything you have learned';
39 $record_remplate = 'You should ask these things';
40 $event_time_place_required = true;
41 $file_required = false;
42
43 $settings = new ilIndividualAssessmentSettings(
44 $obj_id,
45 $title,
46 $description,
47 $content,
48 $record_remplate,
49 $event_time_place_required,
50 $file_required
51 );
52
53 $values1 = [
54 "obj_id" => ["integer", $obj_id],
55 "content" => ["text", $content],
56 "record_template" => ["text", $record_remplate],
57 "event_time_place_required" => ["integer", $event_time_place_required],
58 "file_required" => ["integer", $file_required]
59 ];
60
61 $values2 = [
62 "obj_id" => ["integer", $obj_id]
63 ];
64
65 $expected = [
68 ];
69 $db = $this->createMock(ilDBInterface::class);
70 $db
71 ->expects($this->exactly(2))
72 ->method("insert")
73 ->willReturnCallback(
74 function (string $k, array $v) use (&$expected) {
75 list($ek, $ev) = array_shift($expected);
76 $this->assertEquals($ek, $k);
77 $this->assertEquals($ev, $v);
78 return 1;
79 }
80 );
81 ;
82
84 $obj->createSettings($settings);
85 }
86
87 public function test_updateSettings(): void
88 {
89 $obj_id = 10;
90 $title = 'My iass';
91 $description = 'Special iass for members';
92 $content = 'Everything you have learned';
93 $record_remplate = 'You should ask these things';
94 $event_time_place_required = true;
95 $file_required = false;
96
97 $settings = new ilIndividualAssessmentSettings(
98 $obj_id,
99 $title,
100 $description,
101 $content,
102 $record_remplate,
103 $event_time_place_required,
104 $file_required
105 );
106
107 $values = [
108 "content" => ["text", $content],
109 "record_template" => ["text", $record_remplate],
110 "event_time_place_required" => ["integer", $event_time_place_required],
111 "file_required" => ["integer", $file_required]
112 ];
113
114 $where = [
115 "obj_id" => ["integer", $obj_id]
116 ];
117
118 $db = $this->createMock(ilDBInterface::class);
119 $db
120 ->expects($this->once())
121 ->method("update")
123 ;
124
126 $obj->updateSettings($settings);
127 }
128
129 public function test_updateInfoSettings(): void
130 {
131 $obj_id = 22;
132 $contact = 'contact';
133 $responsibility = 'responsibility';
134 $phone = 'phone';
135 $mails = 'mails';
136 $consultation_hours = 'consultation_hours';
137
139 $obj_id,
140 $contact,
141 $responsibility,
142 $phone,
143 $mails,
144 $consultation_hours
145 );
146
147 $values = [
148 "contact" => ["text", $settings->getContact()],
149 "responsibility" => ["text", $settings->getResponsibility()],
150 "phone" => ["text", $settings->getPhone()],
151 "mails" => ["text", $settings->getMails()],
152 "consultation_hours" => ["text", $settings->getConsultationHours()]
153 ];
154
155 $where = [
156 "obj_id" => ["integer", $obj_id]
157 ];
158
159 $db = $this->createMock(ilDBInterface::class);
160 $db
161 ->expects($this->once())
162 ->method("update")
164 ;
165
167 $obj->updateInfoSettings($settings);
168 }
169
170 public function test_deleteSettings(): void
171 {
172 $sql1 = "DELETE FROM iass_settings WHERE obj_id = %s";
173 $sql2 = "DELETE FROM iass_info_settings WHERE obj_id = %s";
174
175 $iass = $this->createMock(ilObjIndividualAssessment::class);
176 $iass
177 ->expects($this->exactly(2))
178 ->method("getId")
179 ->willReturn(22)
180 ;
181
182 $expected = [
183 [$sql1, ["integer"], [22]],
184 [$sql2, ["integer"], [22]]
185 ];
186 $db = $this->createMock(ilDBInterface::class);
187 $db
188 ->expects($this->exactly(2))
189 ->method("manipulateF")
190 ->willReturnCallback(
191 function (string $sql, array $type, array $v) use (&$expected) {
192 list($esql, $etype, $ev) = array_shift($expected);
193 $this->assertEquals($esql, $sql);
194 $this->assertEquals($etype, $type);
195 $this->assertEquals($ev, $v);
196 return 1;
197 }
198 );
199 ;
200
202 $obj->deleteSettings($iass);
203 }
204}
A settings storage handler to write iass settings to db.
An object carrying settings of an Individual Assessment obj beyond the standard information.