Proyectos de Subversion Moodle

Rev

Rev 11 | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 11 Rev 1441
Línea 57... Línea 57...
57
        $event = reset($events);
57
        $event = reset($events);
Línea 58... Línea 58...
58
 
58
 
59
        // Check that the event data is valid.
59
        // Check that the event data is valid.
60
        $this->assertInstanceOf('\core\event\message_contact_added', $event);
60
        $this->assertInstanceOf('\core\event\message_contact_added', $event);
61
        $this->assertEquals(\context_user::instance(2), $event->get_context());
61
        $this->assertEquals(\context_user::instance(2), $event->get_context());
62
        $url = new \moodle_url('/message/index.php', array('user1' => $event->userid, 'user2' => $event->relateduserid));
62
        $url = new \moodle_url('/message/index.php', ['user1' => $event->userid, 'user2' => $event->relateduserid]);
63
        $this->assertEquals($url, $event->get_url());
63
        $this->assertEquals($url, $event->get_url());
Línea 64... Línea 64...
64
    }
64
    }
65
 
65
 
Línea 87... Línea 87...
87
        $event = reset($events);
87
        $event = reset($events);
Línea 88... Línea 88...
88
 
88
 
89
        // Check that the event data is valid.
89
        // Check that the event data is valid.
90
        $this->assertInstanceOf('\core\event\message_contact_removed', $event);
90
        $this->assertInstanceOf('\core\event\message_contact_removed', $event);
91
        $this->assertEquals(\context_user::instance(2), $event->get_context());
91
        $this->assertEquals(\context_user::instance(2), $event->get_context());
92
        $url = new \moodle_url('/message/index.php', array('user1' => $event->userid, 'user2' => $event->relateduserid));
92
        $url = new \moodle_url('/message/index.php', ['user1' => $event->userid, 'user2' => $event->relateduserid]);
93
        $this->assertEquals($url, $event->get_url());
93
        $this->assertEquals($url, $event->get_url());
Línea 94... Línea 94...
94
    }
94
    }
95
 
95
 
Línea 162... Línea 162...
162
     *
162
     *
163
     * We can not use the message_send() function in the unit test to check that the event was fired as there is a
163
     * We can not use the message_send() function in the unit test to check that the event was fired as there is a
164
     * conditional check to ensure a fake message is sent during unit tests when calling that particular function.
164
     * conditional check to ensure a fake message is sent during unit tests when calling that particular function.
165
     */
165
     */
166
    public function test_message_sent(): void {
166
    public function test_message_sent(): void {
167
        $event = \core\event\message_sent::create(array(
167
        $event = \core\event\message_sent::create([
168
            'objectid' => 3,
168
            'objectid' => 3,
169
            'userid' => 1,
169
            'userid' => 1,
170
            'context'  => \context_system::instance(),
170
            'context'  => \context_system::instance(),
171
            'relateduserid' => 2,
171
            'relateduserid' => 2,
172
            'other' => array(
172
            'other' => [
173
                'courseid' => 4
173
                'courseid' => 4,
174
            )
174
            ],
175
        ));
175
        ]);
Línea 176... Línea 176...
176
 
176
 
177
        // Trigger and capturing the event.
177
        // Trigger and capturing the event.
178
        $sink = $this->redirectEvents();
178
        $sink = $this->redirectEvents();
179
        $event->trigger();
179
        $event->trigger();
180
        $events = $sink->get_events();
180
        $events = $sink->get_events();
Línea 181... Línea 181...
181
        $event = reset($events);
181
        $event = reset($events);
182
 
182
 
183
        // Check that the event data is valid.
183
        // Check that the event data is valid.
184
        $this->assertInstanceOf('\core\event\message_sent', $event);
184
        $this->assertInstanceOf('\core\event\message_sent', $event);
185
        $this->assertEquals(\context_system::instance(), $event->get_context());
185
        $this->assertEquals(\context_system::instance(), $event->get_context());
186
        $url = new \moodle_url('/message/index.php', array('user1' => $event->userid, 'user2' => $event->relateduserid));
186
        $url = new \moodle_url('/message/index.php', ['user1' => $event->userid, 'user2' => $event->relateduserid]);
187
        $this->assertEquals($url, $event->get_url());
187
        $this->assertEquals($url, $event->get_url());
188
        $this->assertEquals(3, $event->objectid);
188
        $this->assertEquals(3, $event->objectid);
Línea 189... Línea 189...
189
        $this->assertEquals(4, $event->other['courseid']);
189
        $this->assertEquals(4, $event->other['courseid']);
190
    }
190
    }
191
 
191
 
192
    public function test_mesage_sent_without_other_courseid(): void {
192
    public function test_mesage_sent_without_other_courseid(): void {
Línea 193... Línea 193...
193
        // Creating a message_sent event without other[courseid] leads to exception.
193
        // Creating a message_sent event without other[courseid] leads to exception.
194
        $this->expectException('coding_exception');
194
        $this->expectException('coding_exception');
195
        $this->expectExceptionMessage('The \'courseid\' value must be set in other');
195
        $this->expectExceptionMessage('The \'courseid\' value must be set in other');
196
 
196
 
197
        $event = \core\event\message_sent::create(array(
197
        $event = \core\event\message_sent::create([
198
            'userid' => 1,
198
            'userid' => 1,
199
            'context'  => \context_system::instance(),
199
            'context'  => \context_system::instance(),
200
            'relateduserid' => 2,
200
            'relateduserid' => 2,
201
            'other' => array(
201
            'other' => [
Línea 202... Línea 202...
202
                'messageid' => 3,
202
                'messageid' => 3,
203
            )
203
            ],
Línea 217... Línea 217...
217
        $event = reset($events);
217
        $event = reset($events);
Línea 218... Línea 218...
218
 
218
 
219
        // Check that the event data is valid.
219
        // Check that the event data is valid.
220
        $this->assertInstanceOf('\core\event\message_sent', $event);
220
        $this->assertInstanceOf('\core\event\message_sent', $event);
221
        $this->assertEquals(\context_system::instance(), $event->get_context());
221
        $this->assertEquals(\context_system::instance(), $event->get_context());
222
        $url = new \moodle_url('/message/index.php', array('user1' => $event->userid, 'user2' => $event->relateduserid));
222
        $url = new \moodle_url('/message/index.php', ['user1' => $event->userid, 'user2' => $event->relateduserid]);
223
        $this->assertEquals($url, $event->get_url());
223
        $this->assertEquals($url, $event->get_url());
224
        $this->assertEquals(3, $event->objectid);
224
        $this->assertEquals(3, $event->objectid);
225
        $this->assertEquals(4, $event->other['courseid']);
225
        $this->assertEquals(4, $event->other['courseid']);
Línea 239... Línea 239...
239
            'objectid' => 3,
239
            'objectid' => 3,
240
            'userid' => 1,
240
            'userid' => 1,
241
            'context'  => \context_system::instance(),
241
            'context'  => \context_system::instance(),
242
            'other' => [
242
            'other' => [
243
                'courseid' => 4,
243
                'courseid' => 4,
244
                'conversationid' => 54
244
                'conversationid' => 54,
245
            ]
245
            ],
246
        ]);
246
        ]);
Línea 247... Línea 247...
247
 
247
 
248
        // Trigger and capture the event.
248
        // Trigger and capture the event.
249
        $sink = $this->redirectEvents();
249
        $sink = $this->redirectEvents();
Línea 273... Línea 273...
273
            'userid' => 1,
273
            'userid' => 1,
274
            'objectid' => 3,
274
            'objectid' => 3,
275
            'context'  => \context_system::instance(),
275
            'context'  => \context_system::instance(),
276
            'relateduserid' => 2,
276
            'relateduserid' => 2,
277
            'other' => [
277
            'other' => [
278
                'conversationid' => 34
278
                'conversationid' => 34,
279
            ]
279
            ],
280
        ]);
280
        ]);
281
    }
281
    }
Línea 282... Línea 282...
282
 
282
 
283
    /**
283
    /**
Línea 293... Línea 293...
293
            'objectid' => 3,
293
            'objectid' => 3,
294
            'context'  => \context_system::instance(),
294
            'context'  => \context_system::instance(),
295
            'relateduserid' => 2,
295
            'relateduserid' => 2,
296
            'other' => [
296
            'other' => [
297
                'courseid' => 44,
297
                'courseid' => 44,
298
            ]
298
            ],
299
        ]);
299
        ]);
300
    }
300
    }
Línea 301... Línea 301...
301
 
301
 
302
    /**
302
    /**
Línea 345... Línea 345...
345
        $events = $sink->get_events();
345
        $events = $sink->get_events();
346
        $event = reset($events);
346
        $event = reset($events);
Línea 347... Línea 347...
347
 
347
 
348
        // Get the usage action.
348
        // Get the usage action.
349
        $mua = $DB->get_record('message_user_actions', ['userid' => $user1->id, 'messageid' => $messageid,
349
        $mua = $DB->get_record('message_user_actions', ['userid' => $user1->id, 'messageid' => $messageid,
Línea 350... Línea 350...
350
            'action' => \core_message\api::MESSAGE_ACTION_READ]);
350
            'action' => \core_message\api::MESSAGE_ACTION_READ, ]);
351
 
351
 
352
        // Check that the event data is valid.
352
        // Check that the event data is valid.
353
        $this->assertInstanceOf('\core\event\message_viewed', $event);
353
        $this->assertInstanceOf('\core\event\message_viewed', $event);
354
        $this->assertEquals(\context_user::instance($user1->id), $event->get_context());
354
        $this->assertEquals(\context_user::instance($user1->id), $event->get_context());
355
        $this->assertEquals($mua->id, $event->objectid);
355
        $this->assertEquals($mua->id, $event->objectid);
356
        $this->assertEquals($messageid, $event->other['messageid']);
356
        $this->assertEquals($messageid, $event->other['messageid']);
357
        $url = new \moodle_url('/message/index.php', array('user1' => $event->userid, 'user2' => $event->relateduserid));
357
        $url = new \moodle_url('/message/index.php', ['user1' => $event->userid, 'user2' => $event->relateduserid]);
Línea 358... Línea 358...
358
        $this->assertEquals($url, $event->get_url());
358
        $this->assertEquals($url, $event->get_url());
359
    }
359
    }
Línea 380... Línea 380...
380
        $events = $sink->get_events();
380
        $events = $sink->get_events();
381
        $event = reset($events);
381
        $event = reset($events);
Línea 382... Línea 382...
382
 
382
 
383
        // Get the usage action.
383
        // Get the usage action.
384
        $mua = $DB->get_record('message_user_actions', ['userid' => $user1->id, 'messageid' => $messageid,
384
        $mua = $DB->get_record('message_user_actions', ['userid' => $user1->id, 'messageid' => $messageid,
Línea 385... Línea 385...
385
            'action' => \core_message\api::MESSAGE_ACTION_DELETED]);
385
            'action' => \core_message\api::MESSAGE_ACTION_DELETED, ]);
386
 
386
 
387
        // Check that the event data is valid.
387
        // Check that the event data is valid.
388
        $this->assertInstanceOf('\core\event\message_deleted', $event);
388
        $this->assertInstanceOf('\core\event\message_deleted', $event);
Línea 404... Línea 404...
404
        $events = $sink->get_events();
404
        $events = $sink->get_events();
405
        $event = reset($events);
405
        $event = reset($events);
Línea 406... Línea 406...
406
 
406
 
407
        // Get the usage action.
407
        // Get the usage action.
408
        $mua = $DB->get_record('message_user_actions', ['userid' => $user2->id, 'messageid' => $messageid,
408
        $mua = $DB->get_record('message_user_actions', ['userid' => $user2->id, 'messageid' => $messageid,
Línea 409... Línea 409...
409
            'action' => \core_message\api::MESSAGE_ACTION_DELETED]);
409
            'action' => \core_message\api::MESSAGE_ACTION_DELETED, ]);
410
 
410
 
411
        // Check that the event data is valid.
411
        // Check that the event data is valid.
412
        $this->assertInstanceOf('\core\event\message_deleted', $event);
412
        $this->assertInstanceOf('\core\event\message_deleted', $event);
Línea 459... Línea 459...
459
        \core_message\api::delete_conversation_by_id($user1->id, $conversationid);
459
        \core_message\api::delete_conversation_by_id($user1->id, $conversationid);
460
        $events = $sink->get_events();
460
        $events = $sink->get_events();
Línea 461... Línea 461...
461
 
461
 
462
        // Get the user actions for the messages deleted by that user.
462
        // Get the user actions for the messages deleted by that user.
463
        $muas = $DB->get_records('message_user_actions', ['userid' => $user1->id,
463
        $muas = $DB->get_records('message_user_actions', ['userid' => $user1->id,
464
            'action' => \core_message\api::MESSAGE_ACTION_DELETED], 'timecreated ASC');
464
            'action' => \core_message\api::MESSAGE_ACTION_DELETED, ], 'timecreated ASC');
Línea 465... Línea 465...
465
        $this->assertCount(8, $muas);
465
        $this->assertCount(8, $muas);
466
 
466
 
467
        // Create a list we can use for testing.
467
        // Create a list we can use for testing.
Línea 519... Línea 519...
519
        $this->assertEquals($notificationid, $event->objectid);
519
        $this->assertEquals($notificationid, $event->objectid);
520
        $this->assertEquals($user1->id, $event->userid);
520
        $this->assertEquals($user1->id, $event->userid);
521
        $this->assertEquals($user2->id, $event->relateduserid);
521
        $this->assertEquals($user2->id, $event->relateduserid);
522
        $this->assertEquals(\context_system::instance(), $event->get_context());
522
        $this->assertEquals(\context_system::instance(), $event->get_context());
523
        $this->assertEquals($course->id, $event->other['courseid']);
523
        $this->assertEquals($course->id, $event->other['courseid']);
524
        $url = new \moodle_url('/message/output/popup/notifications.php', array('notificationid' => $event->objectid));
524
        $url = new \moodle_url('/message/output/popup/notifications.php', ['notificationid' => $event->objectid]);
525
        $this->assertEquals($url, $event->get_url());
525
        $this->assertEquals($url, $event->get_url());
526
    }
526
    }
Línea 527... Línea 527...
527
 
527
 
528
    /**
528
    /**
Línea 570... Línea 570...
570
        $this->assertInstanceOf('\core\event\notification_viewed', $event);
570
        $this->assertInstanceOf('\core\event\notification_viewed', $event);
571
        $this->assertEquals($notificationid, $event->objectid);
571
        $this->assertEquals($notificationid, $event->objectid);
572
        $this->assertEquals($user2->id, $event->userid);
572
        $this->assertEquals($user2->id, $event->userid);
573
        $this->assertEquals($user1->id, $event->relateduserid);
573
        $this->assertEquals($user1->id, $event->relateduserid);
574
        $this->assertEquals(\context_user::instance($user2->id), $event->get_context());
574
        $this->assertEquals(\context_user::instance($user2->id), $event->get_context());
575
        $url = new \moodle_url('/message/output/popup/notifications.php', array('notificationid' => $event->objectid));
575
        $url = new \moodle_url('/message/output/popup/notifications.php', ['notificationid' => $event->objectid]);
576
        $this->assertEquals($url, $event->get_url());
576
        $this->assertEquals($url, $event->get_url());
577
    }
577
    }
578
}
578
}