ILIAS  release_8 Revision v8.24
ilIndividualAssessmentSettingsStorageDBTest.php
Go to the documentation of this file.
1<?php
2
3declare(strict_types=1);
4
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
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 $db = $this->createMock(ilDBInterface::class);
66 $db
67 ->expects($this->exactly(2))
68 ->method("insert")
69 ->withConsecutive(
72 )
73 ;
74
76 $obj->createSettings($settings);
77 }
78
79 public function test_updateSettings(): void
80 {
81 $obj_id = 10;
82 $title = 'My iass';
83 $description = 'Special iass for members';
84 $content = 'Everything you have learned';
85 $record_remplate = 'You should ask these things';
86 $event_time_place_required = true;
87 $file_required = false;
88
90 $obj_id,
91 $title,
92 $description,
93 $content,
94 $record_remplate,
95 $event_time_place_required,
96 $file_required
97 );
98
99 $values = [
100 "content" => ["text", $content],
101 "record_template" => ["text", $record_remplate],
102 "event_time_place_required" => ["integer", $event_time_place_required],
103 "file_required" => ["integer", $file_required]
104 ];
105
106 $where = [
107 "obj_id" => ["integer", $obj_id]
108 ];
109
110 $db = $this->createMock(ilDBInterface::class);
111 $db
112 ->expects($this->once())
113 ->method("update")
115 ;
116
118 $obj->updateSettings($settings);
119 }
120
121 public function test_updateInfoSettings(): void
122 {
123 $obj_id = 22;
124 $contact = 'contact';
125 $responsibility = 'responsibility';
126 $phone = 'phone';
127 $mails = 'mails';
128 $consultation_hours = 'consultation_hours';
129
131 $obj_id,
132 $contact,
133 $responsibility,
134 $phone,
135 $mails,
136 $consultation_hours
137 );
138
139 $values = [
140 "contact" => ["text", $settings->getContact()],
141 "responsibility" => ["text", $settings->getResponsibility()],
142 "phone" => ["text", $settings->getPhone()],
143 "mails" => ["text", $settings->getMails()],
144 "consultation_hours" => ["text", $settings->getConsultationHours()]
145 ];
146
147 $where = [
148 "obj_id" => ["integer", $obj_id]
149 ];
150
151 $db = $this->createMock(ilDBInterface::class);
152 $db
153 ->expects($this->once())
154 ->method("update")
156 ;
157
159 $obj->updateInfoSettings($settings);
160 }
161
162 public function test_deleteSettings(): void
163 {
164 $sql1 = "DELETE FROM iass_settings WHERE obj_id = %s";
165 $sql2 = "DELETE FROM iass_info_settings WHERE obj_id = %s";
166
167 $iass = $this->createMock(ilObjIndividualAssessment::class);
168 $iass
169 ->expects($this->exactly(2))
170 ->method("getId")
171 ->willReturn(22)
172 ;
173
174 $db = $this->createMock(ilDBInterface::class);
175 $db
176 ->expects($this->exactly(2))
177 ->method("manipulateF")
178 ->withConsecutive(
179 [$sql1, ["integer"], [22]],
180 [$sql2, ["integer"], [22]]
181 )
182 ;
183
185 $obj->deleteSettings($iass);
186 }
187}
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
An object carrying settings of an Individual Assessment obj beyond the standard information.
array $settings
Setting values (LTI parameters, custom parameters and local parameters).
Definition: System.php:200