public function test_delete_plan_removes_relations() { $this->setAdminUser(); $dg = $this->getDataGenerator(); $lpg = $dg->get_plugin_generator('core_competency'); $user = $dg->create_user(); $plan = $lpg->create_plan(array('userid' => $user->id)); $framework = $lpg->create_framework(); $comp1 = $lpg->create_competency(array('competencyframeworkid' => $framework->get_id())); $comp2 = $lpg->create_competency(array('competencyframeworkid' => $framework->get_id())); $comp3 = $lpg->create_competency(array('competencyframeworkid' => $framework->get_id())); $pc1 = $lpg->create_plan_competency(array('planid' => $plan->get_id(), 'competencyid' => $comp1->get_id())); $pc2 = $lpg->create_plan_competency(array('planid' => $plan->get_id(), 'competencyid' => $comp2->get_id())); $pc3 = $lpg->create_plan_competency(array('planid' => $plan->get_id(), 'competencyid' => $comp3->get_id())); // Complete the plan to generate user_competency_plan entries. api::complete_plan($plan); // Confirm the data we have. $this->assertEquals(3, plan_competency::count_records(array('planid' => $plan->get_id()))); $this->assertEquals(3, user_competency_plan::count_records(array('planid' => $plan->get_id(), 'userid' => $user->id))); // Delete the plan now. api::delete_plan($plan->get_id()); $this->assertEquals(0, plan_competency::count_records(array('planid' => $plan->get_id()))); $this->assertEquals(0, user_competency_plan::count_records(array('planid' => $plan->get_id(), 'userid' => $user->id))); }
/** * Test that completed plan created form a template does not change when template is modified. */ public function test_completed_plan_doesnot_change() { global $DB; $this->resetAfterTest(true); $this->setAdminUser(); $dg = $this->getDataGenerator(); $lpg = $this->getDataGenerator()->get_plugin_generator('core_competency'); $user = $dg->create_user(); // Create a framework and assign competencies. $framework = $lpg->create_framework(); $c1 = $lpg->create_competency(array('competencyframeworkid' => $framework->get_id())); $c2 = $lpg->create_competency(array('competencyframeworkid' => $framework->get_id())); $c3 = $lpg->create_competency(array('competencyframeworkid' => $framework->get_id())); $c4 = $lpg->create_competency(array('competencyframeworkid' => $framework->get_id())); // Create template and assign competencies. $tp = $lpg->create_template(); $tpc1 = $lpg->create_template_competency(array('templateid' => $tp->get_id(), 'competencyid' => $c1->get_id())); $tpc2 = $lpg->create_template_competency(array('templateid' => $tp->get_id(), 'competencyid' => $c2->get_id())); $tpc3 = $lpg->create_template_competency(array('templateid' => $tp->get_id(), 'competencyid' => $c3->get_id())); // Create a plan form template and change it status to complete. $plan = $lpg->create_plan(array('userid' => $user->id, 'templateid' => $tp->get_id())); api::complete_plan($plan); // Check user competency plan created correctly. $this->assertEquals(3, \core_competency\user_competency_plan::count_records()); $ucp = \core_competency\user_competency_plan::get_records(); $this->assertEquals($ucp[0]->get_competencyid(), $c1->get_id()); $this->assertEquals($ucp[1]->get_competencyid(), $c2->get_id()); $this->assertEquals($ucp[2]->get_competencyid(), $c3->get_id()); // Add and remove a competency from the template. api::add_competency_to_template($tp->get_id(), $c4->get_id()); api::remove_competency_from_template($tp->get_id(), $c1->get_id()); // Check that user competency plan did not change. $competencies = $plan->get_competencies(); $this->assertEquals(3, count($competencies)); $ucp1 = array($c1->get_id(), $c2->get_id(), $c3->get_id()); $ucp2 = array(); foreach ($competencies as $id => $cmp) { $ucp2[] = $id; } $this->assertEquals(0, count(array_diff($ucp1, $ucp2))); }
public function test_create_user_competency_plan() { $this->resetAfterTest(true); $user = $this->getDataGenerator()->create_user(); $lpg = $this->getDataGenerator()->get_plugin_generator('core_competency'); $framework = $lpg->create_framework(); $c1 = $lpg->create_competency(array('competencyframeworkid' => $framework->get_id())); $c2 = $lpg->create_competency(array('competencyframeworkid' => $framework->get_id())); $plan = $lpg->create_plan(array('userid' => $user->id)); $this->assertEquals(0, user_competency_plan::count_records()); $ucp = $lpg->create_user_competency_plan(array('userid' => $user->id, 'competencyid' => $c1->get_id(), 'planid' => $plan->get_id())); $ucp = $lpg->create_user_competency_plan(array('userid' => $user->id, 'competencyid' => $c2->get_id(), 'planid' => $plan->get_id())); $this->assertEquals(2, user_competency_plan::count_records()); $this->assertInstanceOf('\\core_competency\\user_competency_plan', $ucp); }