コード例 #1
0
 /**
  * Test are_notification_preferences_configured
  */
 public function test_are_notification_preferences_configured()
 {
     $this->resetAfterTest(true);
     $user1 = self::getDataGenerator()->create_user();
     $user2 = self::getDataGenerator()->create_user();
     $user3 = self::getDataGenerator()->create_user();
     self::setUser($user1);
     set_user_preference('message_provider_moodle_instantmessage_loggedin', 'airnotifier', $user1);
     set_user_preference('message_provider_moodle_instantmessage_loggedoff', 'airnotifier', $user1);
     set_user_preference('message_provider_moodle_instantmessage_loggedin', 'airnotifier', $user2);
     set_user_preference('message_provider_moodle_instantmessage_loggedin', 'airnotifier', $user3);
     $params = array($user1->id, $user2->id, $user3->id);
     $preferences = message_airnotifier_external::are_notification_preferences_configured($params);
     $expected = array(array('userid' => $user1->id, 'configured' => 1));
     $this->assertEquals(1, count($preferences['users']));
     $this->assertEquals($expected, $preferences['users']);
     $this->assertEquals(2, count($preferences['warnings']));
     // Now, remove one user.
     delete_user($user2);
     $preferences = message_airnotifier_external::are_notification_preferences_configured($params);
     $this->assertEquals(1, count($preferences['users']));
     $this->assertEquals($expected, $preferences['users']);
     $this->assertEquals(2, count($preferences['warnings']));
     // Now, remove one user1 preference (the user still has one prefernce for airnotifier).
     unset_user_preference('message_provider_moodle_instantmessage_loggedin', $user1);
     $preferences = message_airnotifier_external::are_notification_preferences_configured($params);
     $this->assertEquals($expected, $preferences['users']);
     // Delete the last user1 preference.
     unset_user_preference('message_provider_moodle_instantmessage_loggedoff', $user1);
     $preferences = message_airnotifier_external::are_notification_preferences_configured($params);
     $expected = array(array('userid' => $user1->id, 'configured' => 0));
     $this->assertEquals($expected, $preferences['users']);
 }
コード例 #2
0
 /**
  * Test enable_device
  */
 public function test_enable_device()
 {
     global $USER, $DB;
     $this->resetAfterTest(true);
     $this->setAdminUser();
     // Add fake core device.
     $device = array('appid' => 'com.moodle.moodlemobile', 'name' => 'occam', 'model' => 'Nexus 4', 'platform' => 'Android', 'version' => '4.2.2', 'pushid' => 'apushdkasdfj4835', 'uuid' => 'asdnfl348qlksfaasef859', 'userid' => $USER->id, 'timecreated' => time(), 'timemodified' => time());
     $coredeviceid = $DB->insert_record('user_devices', (object) $device);
     $airnotifierdev = array('userdeviceid' => $coredeviceid, 'enable' => 1);
     $airnotifierdevid = $DB->insert_record('message_airnotifier_devices', (object) $airnotifierdev);
     // Disable and enable.
     $result = message_airnotifier_external::enable_device($airnotifierdevid, false);
     $result = external_api::clean_returnvalue(message_airnotifier_external::enable_device_returns(), $result);
     $this->assertCount(0, $result['warnings']);
     $this->assertTrue($result['success']);
     $this->assertEquals(0, $DB->get_field('message_airnotifier_devices', 'enable', array('id' => $airnotifierdevid)));
     $result = message_airnotifier_external::enable_device($airnotifierdevid, true);
     $result = external_api::clean_returnvalue(message_airnotifier_external::enable_device_returns(), $result);
     $this->assertCount(0, $result['warnings']);
     $this->assertTrue($result['success']);
     $this->assertEquals(1, $DB->get_field('message_airnotifier_devices', 'enable', array('id' => $airnotifierdevid)));
 }