@@ -420,30 +420,42 @@ public function i_press_the_standard_button_in_the_app(string $button) {
420
420
/**
421
421
* Receives push notifications.
422
422
*
423
- * @When /^I receive a push notification in the app for:$/
423
+ * @When /^I click a push notification in the app for:$/
424
424
* @param TableNode $data Table data
425
425
*/
426
- public function i_receive_a_push_notification (TableNode $ data ) {
426
+ public function i_click_a_push_notification (TableNode $ data ) {
427
427
global $ DB , $ CFG ;
428
428
429
429
$ data = (object ) $ data ->getColumnsHash ()[0 ];
430
- $ module = $ DB ->get_record ('course_modules ' , ['idnumber ' => $ data ->module ]);
431
- $ discussion = $ DB ->get_record ('forum_discussions ' , ['name ' => $ data ->discussion ]);
430
+
431
+ if (isset ($ data ->module , $ data ->discussion )) {
432
+ $ module = $ DB ->get_record ('course_modules ' , ['idnumber ' => $ data ->module ]);
433
+ $ discussion = $ DB ->get_record ('forum_discussions ' , ['name ' => $ data ->discussion ]);
434
+ $ data ->name = 'posts ' ;
435
+ $ data ->component = 'mod_forum ' ;
436
+ }
437
+
432
438
$ notification = json_encode ([
433
439
'site ' => md5 ($ CFG ->behat_wwwroot . $ data ->username ),
434
- 'courseid ' => $ discussion ->course ,
435
- 'moodlecomponent ' => 'mod_forum ' ,
436
- 'name ' => 'posts ' ,
440
+ 'subject ' => $ data ->subject ?? null ,
441
+ 'userfrom ' => $ data ->userfrom ?? null ,
442
+ 'userto ' => $ data ->username ?? null ,
443
+ 'message ' => $ data ->message ?? '' ,
444
+ 'title ' => $ data ->title ?? '' ,
445
+ 'image ' => $ data ->image ?? null ,
446
+ 'courseid ' => $ discussion ->course ?? null ,
447
+ 'moodlecomponent ' => $ data ->component ?? null ,
448
+ 'name ' => $ data ->name ?? null ,
437
449
'contexturl ' => '' ,
438
450
'notif ' => 1 ,
439
- 'customdata ' => [
440
- 'discussionid ' => $ discussion ->id ,
441
- ' cmid ' => $ module -> id ,
442
- ' instance ' => $ discussion -> forum ,
443
- ] ,
451
+ 'customdata ' => isset ( $ discussion -> id , $ module -> id , $ discussion -> forum )
452
+ ? [ 'discussionid ' => $ discussion ->id , ' cmid ' => $ module -> id , ' instance ' => $ discussion -> forum ]
453
+ : null ,
454
+ ' additionalData ' => isset ( $ data -> subject ) || isset ( $ data -> userfrom )
455
+ ? [ ' foreground ' => true , ' notId ' => 23 , ' notif ' => 1 ] : null ,
444
456
]);
445
457
446
- $ this ->zone_js ("pushNotifications.notificationClicked( $ notification) " , true );
458
+ $ this ->evaluate_script ("pushNotifications.notificationClicked( $ notification) " , true );
447
459
$ this ->wait_for_pending_js ();
448
460
}
449
461
0 commit comments