ILIAS  trunk Revision v11.0_alpha-1769-g99a433fe2dc
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
ilIndividualAssessmentSettingsStorageDBTest.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
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 
138  $settings = new ilIndividualAssessmentInfoSettings(
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.