@@ -39,6 +39,7 @@ public function beforeTestMethod($method) {
39
39
case 'testGetTicketStatusForIssue ' :
40
40
$ this ->login ('glpi ' , 'glpi ' );
41
41
$ _SESSION ['glpiset_default_tech ' ] = false ;
42
+ $ this ->beforeGetTicketStatusForIssue ();
42
43
break ;
43
44
}
44
45
}
@@ -164,11 +165,16 @@ public function testCleanOldCaptchas() {
164
165
}
165
166
166
167
public function beforeGetTicketStatusForIssue () {
168
+ global $ CFG_GLPI ;
167
169
170
+ $ CFG_GLPI ['use_notifications ' ] = '0 ' ;
168
171
}
169
172
170
173
public function providerGetTicketStatusForIssue () {
171
174
$ data = [];
175
+
176
+ // Build test cases for 1st and last columns of tabhe in docblock of
177
+ // PluginFormcreatorCommon::getTicketStatusForIssue (total 18 test cases)
172
178
$ expectedStatus = [
173
179
\Ticket::INCOMING ,
174
180
\Ticket::ASSIGNED ,
@@ -240,11 +246,22 @@ public function providerGetTicketStatusForIssue() {
240
246
'expected ' => ['user ' => 4 , 'status ' => $ ticketStatus ]
241
247
];
242
248
$ data ["validation accepted, " . \Ticket::getStatus ($ ticketStatus )] = $ dataSet ;
249
+ }
243
250
251
+ // Build test cases for 2nd column of tabhe in docblock of
252
+ // PluginFormcreatorCommon::getTicketStatusForIssue (total 4 test cases)
253
+ $ expectedStatus = [
254
+ \Ticket::INCOMING ,
255
+ \Ticket::ASSIGNED ,
256
+ \Ticket::PLANNED ,
257
+ \Ticket::WAITING ,
258
+ ];
259
+ foreach ($ expectedStatus as $ ticketStatus ) {
260
+ // generate tickets with a validation
244
261
$ ticket = new \Ticket ();
245
262
$ ticket ->add ([
246
263
'name ' => 'a ticket ' ,
247
- 'content ' => "should be " . \Ticket ::getStatus ($ ticketStatus ),
264
+ 'content ' => "should be " . \CommonITILValidation ::getStatus (\CommonITILValidation:: WAITING ),
248
265
'status ' => \CommonITILObject::INCOMING ,
249
266
'_add_validation ' => '0 ' ,
250
267
'validatortype ' => User::class,
@@ -264,20 +281,54 @@ public function providerGetTicketStatusForIssue() {
264
281
'ticket ' => $ ticket ,
265
282
'expected ' => ['user ' => 4 , 'status ' => \PluginFormcreatorFormAnswer::STATUS_WAITING ]
266
283
];
284
+ $ data ["validation waiting, " . \CommonITILValidation::getStatus (\CommonITILValidation::WAITING )] = $ dataSet ;
285
+ }
286
+
287
+ $ expectedStatus = [
288
+ \Ticket::SOLVED ,
289
+ \Ticket::CLOSED ,
290
+ ];
291
+ foreach ($ expectedStatus as $ ticketStatus ) {
292
+ $ ticket = new \Ticket ();
293
+ $ ticket ->add ([
294
+ 'name ' => 'a ticket ' ,
295
+ 'content ' => "should be " . \Ticket::getStatus ($ ticketStatus ),
296
+ 'status ' => \CommonITILObject::INCOMING ,
297
+ '_add_validation ' => '0 ' ,
298
+ 'validatortype ' => User::class,
299
+ 'users_id_validate ' => [4 ], // Tech
300
+ ]);
301
+ $ this ->boolean ($ ticket ->isNewItem ())->isFalse ();
302
+ // Creating a ticket directly with status solved or closed
303
+ // will prevent credation of ticketvalidation item
304
+ $ ticket ->update ([
305
+ 'id ' => $ ticket ->getID (),
306
+ 'status ' => $ ticketStatus ,
307
+ '_users_id_assign ' => ($ ticketStatus > \CommonITILObject::INCOMING ) ? 4 /* Tech */ : 0 ,
308
+ ]);
309
+ $ this ->integer ((int ) $ ticket ->fields ['status ' ])->isEqualTo ($ ticketStatus );
310
+ $ ticket ->fields ['global_validation ' ] = \CommonITILValidation::WAITING ;
311
+ $ dataSet = [
312
+ 'ticket ' => $ ticket ,
313
+ 'expected ' => ['user ' => 4 , 'status ' => $ ticketStatus ]
314
+ ];
267
315
$ data ["validation waiting, " . \Ticket::getStatus ($ ticketStatus )] = $ dataSet ;
268
316
}
269
317
318
+ // Build test cases for 3rd column of tabhe in docblock of
319
+ // PluginFormcreatorCommon::getTicketStatusForIssue (total 4 test cases)
270
320
$ expectedStatus = [
271
321
\Ticket::INCOMING ,
272
322
\Ticket::ASSIGNED ,
273
323
\Ticket::PLANNED ,
274
324
\Ticket::WAITING ,
275
325
];
276
326
foreach ($ expectedStatus as $ ticketStatus ) {
327
+ // generate tickets with a validation
277
328
$ ticket = new \Ticket ();
278
329
$ ticket ->add ([
279
330
'name ' => 'a ticket ' ,
280
- 'content ' => "should be " . \Ticket ::getStatus ($ ticketStatus ),
331
+ 'content ' => "should be " . \CommonITILValidation ::getStatus (\CommonITILValidation:: REFUSED ),
281
332
'status ' => \CommonITILObject::INCOMING ,
282
333
'_add_validation ' => '0 ' ,
283
334
'validatortype ' => User::class,
@@ -297,7 +348,7 @@ public function providerGetTicketStatusForIssue() {
297
348
'ticket ' => $ ticket ,
298
349
'expected ' => ['user ' => 4 , 'status ' => \PluginFormcreatorFormAnswer::STATUS_REFUSED ]
299
350
];
300
- $ data ["validation waiting , " . \Ticket ::getStatus ($ ticketStatus )] = $ dataSet ;
351
+ $ data ["validation refused , " . \CommonITILValidation ::getStatus (\CommonITILValidation:: REFUSED )] = $ dataSet ;
301
352
}
302
353
303
354
$ expectedStatus = [
@@ -328,7 +379,7 @@ public function providerGetTicketStatusForIssue() {
328
379
'ticket ' => $ ticket ,
329
380
'expected ' => ['user ' => 4 , 'status ' => $ ticketStatus ]
330
381
];
331
- $ data ["validation waiting , " . \Ticket::getStatus ($ ticketStatus )] = $ dataSet ;
382
+ $ data ["validation refused , " . \Ticket::getStatus ($ ticketStatus )] = $ dataSet ;
332
383
}
333
384
334
385
return $ data ;
0 commit comments