Beispiel #1
0
 /**
  * Test remove user device
  */
 public function test_remove_user_device()
 {
     global $USER, $CFG, $DB;
     $this->resetAfterTest(true);
     $device = array('appid' => 'com.moodle.moodlemobile', 'name' => 'occam', 'model' => 'Nexus 4', 'platform' => 'Android', 'version' => '4.2.2', 'pushid' => 'apushdkasdfj4835', 'uuid' => 'ABCDE3723ksdfhasfaasef859');
     // A device with the same properties except the appid and pushid.
     $device2 = $device;
     $device2['pushid'] = "0987654321";
     $device2['appid'] = "other.app.com";
     $this->setAdminUser();
     // Create a user device using the external API function.
     core_user_external::add_user_device($device['appid'], $device['name'], $device['model'], $device['platform'], $device['version'], $device['pushid'], $device['uuid']);
     // Create the same device but for a different app.
     core_user_external::add_user_device($device2['appid'], $device2['name'], $device2['model'], $device2['platform'], $device2['version'], $device2['pushid'], $device2['uuid']);
     // Try to remove a device that does not exist.
     $result = core_user_external::remove_user_device('1234567890');
     $result = external_api::clean_returnvalue(core_user_external::remove_user_device_returns(), $result);
     $this->assertFalse($result['removed']);
     $this->assertCount(1, $result['warnings']);
     // Try to remove a device that does not exist for an existing app.
     $result = core_user_external::remove_user_device('1234567890', $device['appid']);
     $result = external_api::clean_returnvalue(core_user_external::remove_user_device_returns(), $result);
     $this->assertFalse($result['removed']);
     $this->assertCount(1, $result['warnings']);
     // Remove an existing device for an existing app. This will remove one of the two devices.
     $result = core_user_external::remove_user_device($device['uuid'], $device['appid']);
     $result = external_api::clean_returnvalue(core_user_external::remove_user_device_returns(), $result);
     $this->assertTrue($result['removed']);
     // Remove all the devices. This must remove the remaining device.
     $result = core_user_external::remove_user_device($device['uuid']);
     $result = external_api::clean_returnvalue(core_user_external::remove_user_device_returns(), $result);
     $this->assertTrue($result['removed']);
 }