MDL-56139 message: ajax poll for new messages in message area
This commit is contained in:
@@ -953,4 +953,129 @@ class core_message_api_testcase extends core_message_messagelib_testcase {
|
||||
$status = \core_message\api::is_processor_enabled($name);
|
||||
$this->assertEquals(1, $status);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test retrieving messages by providing a minimum timecreated value.
|
||||
*/
|
||||
public function test_get_messages_created_from_only() {
|
||||
// Create some users.
|
||||
$user1 = self::getDataGenerator()->create_user();
|
||||
$user2 = self::getDataGenerator()->create_user();
|
||||
|
||||
// The person doing the search.
|
||||
$this->setUser($user1);
|
||||
|
||||
// Send some messages back and forth.
|
||||
$time = 1;
|
||||
$this->send_fake_message($user1, $user2, 'Message 1', 0, $time + 1);
|
||||
$this->send_fake_message($user2, $user1, 'Message 2', 0, $time + 2);
|
||||
$this->send_fake_message($user1, $user2, 'Message 3', 0, $time + 3);
|
||||
$this->send_fake_message($user2, $user1, 'Message 4', 0, $time + 4);
|
||||
|
||||
// Retrieve the messages.
|
||||
$messages = \core_message\api::get_messages($user1->id, $user2->id, 0, 0, 'timecreated ASC', $time);
|
||||
|
||||
// Confirm the message data is correct.
|
||||
$this->assertEquals(4, count($messages));
|
||||
|
||||
$message1 = $messages[0];
|
||||
$message2 = $messages[1];
|
||||
$message3 = $messages[2];
|
||||
$message4 = $messages[3];
|
||||
|
||||
$this->assertContains('Message 1', $message1->text);
|
||||
$this->assertContains('Message 2', $message2->text);
|
||||
$this->assertContains('Message 3', $message3->text);
|
||||
$this->assertContains('Message 4', $message4->text);
|
||||
|
||||
// Retrieve the messages.
|
||||
$messages = \core_message\api::get_messages($user1->id, $user2->id, 0, 0, 'timecreated ASC', $time + 3);
|
||||
|
||||
// Confirm the message data is correct.
|
||||
$this->assertEquals(2, count($messages));
|
||||
|
||||
$message1 = $messages[0];
|
||||
$message2 = $messages[1];
|
||||
|
||||
$this->assertContains('Message 3', $message1->text);
|
||||
$this->assertContains('Message 4', $message2->text);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test retrieving messages by providing a maximum timecreated value.
|
||||
*/
|
||||
public function test_get_messages_created_to_only() {
|
||||
// Create some users.
|
||||
$user1 = self::getDataGenerator()->create_user();
|
||||
$user2 = self::getDataGenerator()->create_user();
|
||||
|
||||
// The person doing the search.
|
||||
$this->setUser($user1);
|
||||
|
||||
// Send some messages back and forth.
|
||||
$time = 1;
|
||||
$this->send_fake_message($user1, $user2, 'Message 1', 0, $time + 1);
|
||||
$this->send_fake_message($user2, $user1, 'Message 2', 0, $time + 2);
|
||||
$this->send_fake_message($user1, $user2, 'Message 3', 0, $time + 3);
|
||||
$this->send_fake_message($user2, $user1, 'Message 4', 0, $time + 4);
|
||||
|
||||
// Retrieve the messages.
|
||||
$messages = \core_message\api::get_messages($user1->id, $user2->id, 0, 0, 'timecreated ASC', 0, $time + 4);
|
||||
|
||||
// Confirm the message data is correct.
|
||||
$this->assertEquals(4, count($messages));
|
||||
|
||||
$message1 = $messages[0];
|
||||
$message2 = $messages[1];
|
||||
$message3 = $messages[2];
|
||||
$message4 = $messages[3];
|
||||
|
||||
$this->assertContains('Message 1', $message1->text);
|
||||
$this->assertContains('Message 2', $message2->text);
|
||||
$this->assertContains('Message 3', $message3->text);
|
||||
$this->assertContains('Message 4', $message4->text);
|
||||
|
||||
// Retrieve the messages.
|
||||
$messages = \core_message\api::get_messages($user1->id, $user2->id, 0, 0, 'timecreated ASC', 0, $time + 2);
|
||||
|
||||
// Confirm the message data is correct.
|
||||
$this->assertEquals(2, count($messages));
|
||||
|
||||
$message1 = $messages[0];
|
||||
$message2 = $messages[1];
|
||||
|
||||
$this->assertContains('Message 1', $message1->text);
|
||||
$this->assertContains('Message 2', $message2->text);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test retrieving messages by providing a minimum and maximum timecreated value.
|
||||
*/
|
||||
public function test_get_messages_created_from_and_to() {
|
||||
// Create some users.
|
||||
$user1 = self::getDataGenerator()->create_user();
|
||||
$user2 = self::getDataGenerator()->create_user();
|
||||
|
||||
// The person doing the search.
|
||||
$this->setUser($user1);
|
||||
|
||||
// Send some messages back and forth.
|
||||
$time = 1;
|
||||
$this->send_fake_message($user1, $user2, 'Message 1', 0, $time + 1);
|
||||
$this->send_fake_message($user2, $user1, 'Message 2', 0, $time + 2);
|
||||
$this->send_fake_message($user1, $user2, 'Message 3', 0, $time + 3);
|
||||
$this->send_fake_message($user2, $user1, 'Message 4', 0, $time + 4);
|
||||
|
||||
// Retrieve the messages.
|
||||
$messages = \core_message\api::get_messages($user1->id, $user2->id, 0, 0, 'timecreated ASC', $time + 2, $time + 3);
|
||||
|
||||
// Confirm the message data is correct.
|
||||
$this->assertEquals(2, count($messages));
|
||||
|
||||
$message1 = $messages[0];
|
||||
$message2 = $messages[1];
|
||||
|
||||
$this->assertContains('Message 2', $message1->text);
|
||||
$this->assertContains('Message 3', $message2->text);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user