@@ -466,4 +466,87 @@ public function test_deleting_an_element(): void {
466
466
$ this ->assertEquals ($ templateupdatedevent ->contextid , \context_system::instance ()->id );
467
467
$ this ->assertDebuggingNotCalled ();
468
468
}
469
+
470
+ /**
471
+ * Tests that the issue_created event is fired correctly.
472
+ */
473
+ public function test_issue_created_event (): void {
474
+ global $ DB ;
475
+
476
+ $ this ->resetAfterTest ();
477
+
478
+ $ course = $ this ->getDataGenerator ()->create_course ();
479
+ $ user = $ this ->getDataGenerator ()->create_user ();
480
+ $ customcert = $ this ->getDataGenerator ()->create_module ('customcert ' , ['course ' => $ course ->id ]);
481
+ $ context = \context_module::instance ($ customcert ->cmid );
482
+
483
+ // Simulate certificate issue.
484
+ $ issue = new \stdClass ();
485
+ $ issue ->userid = $ user ->id ;
486
+ $ issue ->customcertid = $ customcert ->id ;
487
+ $ issue ->timecreated = time ();
488
+ $ issueid = $ DB ->insert_record ('customcert_issues ' , $ issue );
489
+
490
+ $ sink = $ this ->redirectEvents ();
491
+
492
+ // Trigger event manually.
493
+ \mod_customcert \event \issue_created::create ([
494
+ 'objectid ' => $ issueid ,
495
+ 'context ' => $ context ,
496
+ 'relateduserid ' => $ user ->id ,
497
+ 'userid ' => $ user ->id ,
498
+ ])->trigger ();
499
+
500
+ $ events = $ sink ->get_events ();
501
+ $ this ->assertCount (1 , $ events );
502
+
503
+ $ event = reset ($ events );
504
+ $ this ->assertInstanceOf (\mod_customcert \event \issue_created::class, $ event );
505
+ $ this ->assertEquals ($ issueid , $ event ->objectid );
506
+ $ this ->assertEquals ($ context ->id , $ event ->contextid );
507
+ $ this ->assertDebuggingNotCalled ();
508
+ }
509
+
510
+ /**
511
+ * Tests that the issue_deleted event is fired correctly.
512
+ */
513
+ public function test_issue_deleted_event (): void {
514
+ global $ DB ;
515
+
516
+ $ this ->resetAfterTest ();
517
+
518
+ $ course = $ this ->getDataGenerator ()->create_course ();
519
+ $ user = $ this ->getDataGenerator ()->create_user ();
520
+ $ customcert = $ this ->getDataGenerator ()->create_module ('customcert ' , ['course ' => $ course ->id ]);
521
+ $ context = \context_module::instance ($ customcert ->cmid );
522
+
523
+ // Create an issue.
524
+ $ issue = new \stdClass ();
525
+ $ issue ->userid = $ user ->id ;
526
+ $ issue ->customcertid = $ customcert ->id ;
527
+ $ issue ->timecreated = time ();
528
+ $ issueid = $ DB ->insert_record ('customcert_issues ' , $ issue );
529
+
530
+ $ sink = $ this ->redirectEvents ();
531
+
532
+ // Simulate deleting the issue.
533
+ $ DB ->delete_records ('customcert_issues ' , ['id ' => $ issueid ]);
534
+
535
+ // Trigger event manually.
536
+ \mod_customcert \event \issue_deleted::create ([
537
+ 'objectid ' => $ issueid ,
538
+ 'context ' => $ context ,
539
+ 'relateduserid ' => $ user ->id ,
540
+ 'userid ' => $ user ->id ,
541
+ ])->trigger ();
542
+
543
+ $ events = $ sink ->get_events ();
544
+ $ this ->assertCount (1 , $ events );
545
+
546
+ $ event = reset ($ events );
547
+ $ this ->assertInstanceOf (\mod_customcert \event \issue_deleted::class, $ event );
548
+ $ this ->assertEquals ($ issueid , $ event ->objectid );
549
+ $ this ->assertEquals ($ context ->id , $ event ->contextid );
550
+ $ this ->assertDebuggingNotCalled ();
551
+ }
469
552
}
0 commit comments