/** * Test successful track enrolment deletion. */ public function test_success() { global $DB, $USER; $this->give_permissions(array('local/elisprogram:track_enrol')); // Initialize version1elis importplugin for utility functions. $importplugin = rlip_dataplugin_factory::factory('dhimport_version1elis'); // Create test program and track. $datagen = new elis_program_datagenerator($DB); $program = $datagen->create_program(array('idnumber' => 'TestProgramForTrack')); $track = $datagen->create_track(array('idnumber' => 'TestTrackForProgram', 'curid' => $program->id)); $userid = $DB->get_field(user::TABLE, 'id', array('username' => 'assigninguser')); // Create the track enrolment record to delete. $datagen->assign_user_to_track($userid, $track->id); $data = array('track_idnumber' => $track->idnumber, 'user_username' => 'assigninguser', 'user_email' => '*****@*****.**'); $response = local_datahub_elis_track_enrolment_delete::track_enrolment_delete($data); $this->assertNotEmpty($response); $this->assertInternalType('array', $response); $this->assertArrayHasKey('messagecode', $response); $this->assertArrayHasKey('message', $response); $this->assertEquals(get_string('ws_track_enrolment_delete_success_code', 'local_datahub'), $response['messagecode']); $this->assertEquals(get_string('ws_track_enrolment_delete_success_msg', 'local_datahub'), $response['message']); $this->assertFalse($DB->record_exists(usertrack::TABLE, array('userid' => $userid, 'trackid' => $track->id))); }