/**
  * Test that an existing report link is rebuilt under it's parent.
  *
  * Function tests CRM_Core_BAO_Navigation::rebuildReportsNavigation.
  */
 public function testUpdateExistingReportMenuLink()
 {
     $url = 'civicrm/report/instance/1';
     $url_params = 'reset=1';
     $existing_nav = CRM_Core_BAO_Navigation::getNavItemByUrl($url, $url_params);
     $this->assertNotEquals(FALSE, $existing_nav);
     $existing_nav->parent_id = 1;
     $existing_nav->save();
     CRM_Core_BAO_Navigation::rebuildReportsNavigation(CRM_Core_Config::domainID());
     $parent_url = 'civicrm/report/list';
     $parent_url_params = 'compid=99&reset=1';
     $reportsMenu = CRM_Core_BAO_Navigation::createOrUpdateTopLevelReportsNavItem(CRM_Core_Config::domainID());
     $parent_nav = CRM_Core_BAO_Navigation::getNavItemByUrl($parent_url, $parent_url_params, $reportsMenu->id);
     $this->assertNotEquals($parent_nav->id, 1);
     $changed_existing_nav = new CRM_Core_BAO_Navigation();
     $changed_existing_nav->id = $existing_nav->id;
     $changed_existing_nav->find(TRUE);
     $this->assertEquals($changed_existing_nav->parent_id, $parent_nav->id);
 }