This commit is contained in:
Sam Hemelryk 2013-12-02 10:35:46 +13:00
commit 06ef842707
6 changed files with 117 additions and 20 deletions

View file

@ -27,6 +27,47 @@ defined('MOODLE_INTERNAL') || die();
class core_messagelib_testcase extends advanced_testcase {
public function test_message_provider_disabled() {
$this->resetAfterTest();
$this->preventResetByRollback();
unset_config('noemailever');
// Disable instantmessage provider.
$disableprovidersetting = 'moodle_instantmessage_disable';
set_config($disableprovidersetting, 1, 'message');
$preferences = get_message_output_default_preferences();
$this->assertTrue($preferences->$disableprovidersetting == 1);
$message = new stdClass();
$message->component = 'moodle';
$message->name = 'instantmessage';
$message->userfrom = get_admin();
$message->userto = $this->getDataGenerator()->create_user();;
$message->subject = 'message subject 1';
$message->fullmessage = 'message body';
$message->fullmessageformat = FORMAT_MARKDOWN;
$message->fullmessagehtml = '<p>message body</p>';
$message->smallmessage = 'small message';
// Check message is not sent.
$sink = $this->redirectEmails();
$this->assertTrue(phpunit_util::is_redirecting_phpmailer());
message_send($message);
$emails = $sink->get_messages();
$this->assertEmpty($emails);
// Check message is sent.
set_config($disableprovidersetting, 0, 'message');
$preferences = get_message_output_default_preferences();
$this->assertTrue($preferences->$disableprovidersetting == 0);
$sink = $this->redirectEmails();
$this->assertTrue(phpunit_util::is_redirecting_phpmailer());
message_send($message);
$emails = $sink->get_messages();
$email = reset($emails);
$this->assertEquals($email->subject, 'message subject 1');
}
public function test_message_get_providers_for_user() {
global $CFG, $DB;