function testViewNotEditable() { $this->doLoginBasic(); $this->goToNotebookPageView(1104); $this->checkBasicAsserts(); // NOTE: most of the messy details of this are checked in the notebook_page object tests of renderAsView - see app_infrastructure_tests/TestOfNotebookPage.class.php // this just makes sure that the plant lable is actually showing up and that the appropriate edit buttons are there $ap1 = Authoritative_Plant::getOneFromDb(['authoritative_plant_id' => 5001], $this->DB); // page heading text $this->assertText($ap1->renderAsShortText()); // NO 'edit' control $this->assertNoLink(util_lang('edit')); // NO 'add field' control $this->assertNoLink(util_lang('add_notebook_page_field')); // no 'add specimen' control $this->assertNoLink(util_lang('add_specimen')); $this->assertNoText('IMPLEMENTED'); }
function testViewNotEditable() { $this->doLoginBasic(); $this->goToNotebookView(1004); $this->checkBasicAsserts(); $n = Notebook::getOneFromDb(['notebook_id' => 1004], $this->DB); // util_prePrintR($n); $ap1 = Authoritative_Plant::getOneFromDb(['authoritative_plant_id' => 5001], $this->DB); // page heading text $this->assertText(ucfirst(util_lang('notebook'))); $this->assertText($n->name); $this->assertText($n->notes); // NO 'edit' control $this->assertNoLink(util_lang('edit')); // number of notebook pages $this->assertEltByIdHasAttrOfValue('list-of-notebook-pages', 'data-notebook-page-count', '1'); $this->assertEltByIdHasAttrOfValue('notebook-page-item-1', 'data-notebook_page_id', '1104'); $this->assertLink($ap1->renderAsShortText()); // NO 'add page' control $this->assertNoLink(util_lang('add_notebook_page')); }
public function getLinked() { if ($this->link_to_type == 'authoritative_plant') { return Authoritative_Plant::getOneFromDb(['authoritative_plant_id' => $this->link_to_id], $this->dbConnection); } if ($this->link_to_type == 'notebook_page') { return Notebook_Page::getOneFromDb(['notebook_page_id' => $this->link_to_id], $this->dbConnection); } return 0; }
//// if ($_REQUEST['parent_metadata_structure_id'] && is_numeric($_REQUEST['parent_metadata_structure_id'])) { //// $parent = Metadata_Structure::getOneFromDb(['metadata_structure_id'=>$_REQUEST['parent_metadata_structure_id']],$DB); //// if ($parent->matchesDb) { //// $mds->parent_metadata_structure_id = $parent->metadata_structure_id; //// } //// } // echo "TODO: create action support"; $ap = Authoritative_Plant::createNewAuthoritativePlant($DB); $action == 'edit'; // exit; } else { if (isset($_REQUEST['authoritative_plant_id'])) { if ($_REQUEST['authoritative_plant_id'] == 'NEW') { $ap = Authoritative_Plant::createNewAuthoritativePlant($DB); } elseif (is_numeric($_REQUEST['authoritative_plant_id'])) { $ap = Authoritative_Plant::getOneFromDb(['authoritative_plant_id' => $_REQUEST['authoritative_plant_id']], $DB); if (!$ap->matchesDb) { util_redirectToAppPage('app_code/authoritative_plant.php?action=list', 'failure', util_lang('no_authoritative_plant_found')); } } else { util_redirectToAppPage('app_code/authoritative_plant.php?action=list', 'failure', util_lang('no_authoritative_plant_found')); } } else { // no authoritative_plant_id in request if ($action != 'list') { // list actions can have no id - all other actions need an id util_redirectToAppPage('app_code/authoritative_plant.php?action=list', 'failure', util_lang('no_authoritative_plant_specified')); } $ap = Authoritative_Plant::createNewAuthoritativePlant($DB); } }
function testCanActOnTarget() { $n1 = Notebook::getOneFromDb(['notebook_id' => 1001], $this->DB); // owned by 101 $n2 = Notebook::getOneFromDb(['notebook_id' => 1003], $this->DB); // owned by 102 $n3 = Notebook::getOneFromDb(['notebook_id' => 1004], $this->DB); // owned by 110 $np1 = Notebook_Page::getOneFromDb(['notebook_page_id' => 1101], $this->DB); // part of notebook 101 $s1 = Specimen::getOneFromDb(['specimen_id' => 8001], $this->DB); // owned by 110 $s2 = Specimen::getOneFromDb(['specimen_id' => 8002], $this->DB); // owned by 101 $mds = Metadata_Structure::getOneFromDb(['metadata_structure_id' => 6004], $this->DB); $mdts = Metadata_Term_Set::getOneFromDb(['metadata_term_set_id' => 6101], $this->DB); $mdtv = Metadata_Term_Value::getOneFromDb(['metadata_term_value_id' => 6211], $this->DB); $ap = Authoritative_Plant::getOneFromDb(['authoritative_plant_id' => 5001], $this->DB); $actions_list = Action::getAllFromDb([], $this->DB); $actions = []; foreach ($actions_list as $act_elt) { $actions[$act_elt->name] = $act_elt; } // basic, field user $u = User::getOneFromDb(['user_id' => 101], $this->DB); $this->assertTrue($u->canActOnTarget($actions['view'], $n1)); $this->assertTrue($u->canActOnTarget($actions['edit'], $n1)); $this->assertTrue($u->canActOnTarget($actions['create'], $n1)); $this->assertTrue($u->canActOnTarget($actions['delete'], $n1)); $this->assertTrue($u->canActOnTarget($actions['publish'], $n1)); $this->assertFalse($u->canActOnTarget($actions['verify'], $n1)); $this->assertFalse($u->canActOnTarget($actions['view'], $n2)); $this->assertFalse($u->canActOnTarget($actions['edit'], $n2)); $this->assertTrue($u->canActOnTarget($actions['create'], $n2)); $this->assertFalse($u->canActOnTarget($actions['delete'], $n2)); $this->assertFalse($u->canActOnTarget($actions['publish'], $n2)); $this->assertFalse($u->canActOnTarget($actions['verify'], $n2)); $this->assertTrue($u->canActOnTarget($actions['view'], $n3)); $this->assertFalse($u->canActOnTarget($actions['edit'], $n3)); $this->assertTrue($u->canActOnTarget($actions['create'], $n3)); $this->assertFalse($u->canActOnTarget($actions['delete'], $n3)); $this->assertFalse($u->canActOnTarget($actions['publish'], $n3)); $this->assertFalse($u->canActOnTarget($actions['verify'], $n3)); $this->assertTrue($u->canActOnTarget($actions['view'], $np1)); $this->assertTrue($u->canActOnTarget($actions['edit'], $np1)); $this->assertTrue($u->canActOnTarget($actions['create'], $np1)); $this->assertTrue($u->canActOnTarget($actions['delete'], $np1)); $this->assertTrue($u->canActOnTarget($actions['publish'], $np1)); $this->assertFalse($u->canActOnTarget($actions['verify'], $np1)); $this->assertTrue($u->canActOnTarget($actions['view'], $s1)); $this->assertFalse($u->canActOnTarget($actions['edit'], $s1)); $this->assertTrue($u->canActOnTarget($actions['create'], $s1)); $this->assertFalse($u->canActOnTarget($actions['delete'], $s1)); $this->assertFalse($u->canActOnTarget($actions['publish'], $s1)); $this->assertFalse($u->canActOnTarget($actions['verify'], $s1)); $this->assertTrue($u->canActOnTarget($actions['view'], $s2)); $this->assertTrue($u->canActOnTarget($actions['edit'], $s2)); $this->assertTrue($u->canActOnTarget($actions['create'], $s2)); $this->assertTrue($u->canActOnTarget($actions['delete'], $s2)); $this->assertTrue($u->canActOnTarget($actions['publish'], $s2)); $this->assertFalse($u->canActOnTarget($actions['verify'], $s2)); $this->assertTrue($u->canActOnTarget($actions['view'], $mds)); $this->assertFalse($u->canActOnTarget($actions['edit'], $mds)); $this->assertFalse($u->canActOnTarget($actions['create'], $mds)); $this->assertFalse($u->canActOnTarget($actions['delete'], $mds)); $this->assertFalse($u->canActOnTarget($actions['publish'], $mds)); $this->assertFalse($u->canActOnTarget($actions['verify'], $mds)); $this->assertTrue($u->canActOnTarget($actions['view'], $mdts)); $this->assertFalse($u->canActOnTarget($actions['edit'], $mdts)); $this->assertFalse($u->canActOnTarget($actions['create'], $mdts)); $this->assertFalse($u->canActOnTarget($actions['delete'], $mdts)); $this->assertFalse($u->canActOnTarget($actions['publish'], $mdts)); $this->assertFalse($u->canActOnTarget($actions['verify'], $mdts)); $this->assertTrue($u->canActOnTarget($actions['view'], $mdtv)); $this->assertFalse($u->canActOnTarget($actions['edit'], $mdtv)); $this->assertFalse($u->canActOnTarget($actions['create'], $mdtv)); $this->assertFalse($u->canActOnTarget($actions['delete'], $mdtv)); $this->assertFalse($u->canActOnTarget($actions['publish'], $mdtv)); $this->assertFalse($u->canActOnTarget($actions['verify'], $mdtv)); $this->assertTrue($u->canActOnTarget($actions['view'], $ap)); $this->assertFalse($u->canActOnTarget($actions['edit'], $ap)); $this->assertFalse($u->canActOnTarget($actions['create'], $ap)); $this->assertFalse($u->canActOnTarget($actions['delete'], $ap)); $this->assertFalse($u->canActOnTarget($actions['publish'], $ap)); $this->assertFalse($u->canActOnTarget($actions['verify'], $ap)); // basic user on arbitrary object $this->assertTrue($u->canActOnTarget($actions['view'], new Authoritative_Plant(['DB' => $this->DB]))); // system admin $u->flag_is_system_admin = true; $this->assertTrue($u->canActOnTarget($actions['view'], $n1)); $this->assertTrue($u->canActOnTarget($actions['edit'], $n1)); $this->assertTrue($u->canActOnTarget($actions['create'], $n1)); $this->assertTrue($u->canActOnTarget($actions['delete'], $n1)); $this->assertTrue($u->canActOnTarget($actions['publish'], $n1)); $this->assertTrue($u->canActOnTarget($actions['verify'], $n1)); $this->assertTrue($u->canActOnTarget($actions['view'], $n2)); $this->assertTrue($u->canActOnTarget($actions['edit'], $n2)); $this->assertTrue($u->canActOnTarget($actions['create'], $n2)); $this->assertTrue($u->canActOnTarget($actions['delete'], $n2)); $this->assertTrue($u->canActOnTarget($actions['publish'], $n2)); $this->assertTrue($u->canActOnTarget($actions['verify'], $n2)); $this->assertTrue($u->canActOnTarget($actions['view'], $n3)); $this->assertTrue($u->canActOnTarget($actions['edit'], $n3)); $this->assertTrue($u->canActOnTarget($actions['create'], $n3)); $this->assertTrue($u->canActOnTarget($actions['delete'], $n3)); $this->assertTrue($u->canActOnTarget($actions['publish'], $n3)); $this->assertTrue($u->canActOnTarget($actions['verify'], $n3)); $this->assertTrue($u->canActOnTarget($actions['view'], $s1)); $this->assertTrue($u->canActOnTarget($actions['edit'], $s1)); $this->assertTrue($u->canActOnTarget($actions['create'], $s1)); $this->assertTrue($u->canActOnTarget($actions['delete'], $s1)); $this->assertTrue($u->canActOnTarget($actions['publish'], $s1)); $this->assertTrue($u->canActOnTarget($actions['verify'], $s1)); $this->assertTrue($u->canActOnTarget($actions['view'], $s2)); $this->assertTrue($u->canActOnTarget($actions['edit'], $s2)); $this->assertTrue($u->canActOnTarget($actions['create'], $s2)); $this->assertTrue($u->canActOnTarget($actions['delete'], $s2)); $this->assertTrue($u->canActOnTarget($actions['publish'], $s2)); $this->assertTrue($u->canActOnTarget($actions['verify'], $s2)); $this->assertTrue($u->canActOnTarget($actions['view'], $mds)); $this->assertTrue($u->canActOnTarget($actions['edit'], $mds)); $this->assertTrue($u->canActOnTarget($actions['create'], $mds)); $this->assertTrue($u->canActOnTarget($actions['delete'], $mds)); $this->assertTrue($u->canActOnTarget($actions['publish'], $mds)); $this->assertTrue($u->canActOnTarget($actions['verify'], $mds)); $this->assertTrue($u->canActOnTarget($actions['view'], $mdts)); $this->assertTrue($u->canActOnTarget($actions['edit'], $mdts)); $this->assertTrue($u->canActOnTarget($actions['create'], $mdts)); $this->assertTrue($u->canActOnTarget($actions['delete'], $mdts)); $this->assertTrue($u->canActOnTarget($actions['publish'], $mdts)); $this->assertTrue($u->canActOnTarget($actions['verify'], $mdts)); $this->assertTrue($u->canActOnTarget($actions['view'], $mdtv)); $this->assertTrue($u->canActOnTarget($actions['edit'], $mdtv)); $this->assertTrue($u->canActOnTarget($actions['create'], $mdtv)); $this->assertTrue($u->canActOnTarget($actions['delete'], $mdtv)); $this->assertTrue($u->canActOnTarget($actions['publish'], $mdtv)); $this->assertTrue($u->canActOnTarget($actions['verify'], $mdtv)); $this->assertTrue($u->canActOnTarget($actions['view'], $ap)); $this->assertTrue($u->canActOnTarget($actions['edit'], $ap)); $this->assertTrue($u->canActOnTarget($actions['create'], $ap)); $this->assertTrue($u->canActOnTarget($actions['delete'], $ap)); $this->assertTrue($u->canActOnTarget($actions['publish'], $ap)); $this->assertTrue($u->canActOnTarget($actions['verify'], $ap)); // public user $u = User::getOneFromDb(['user_id' => 109], $this->DB); $this->assertFalse($u->canActOnTarget($actions['view'], $n1)); $this->assertFalse($u->canActOnTarget($actions['edit'], $n1)); $this->assertFalse($u->canActOnTarget($actions['create'], $n1)); $this->assertFalse($u->canActOnTarget($actions['delete'], $n1)); $this->assertFalse($u->canActOnTarget($actions['publish'], $n1)); $this->assertFalse($u->canActOnTarget($actions['verify'], $n1)); $this->assertFalse($u->canActOnTarget($actions['view'], $n2)); $this->assertFalse($u->canActOnTarget($actions['edit'], $n2)); $this->assertFalse($u->canActOnTarget($actions['create'], $n2)); $this->assertFalse($u->canActOnTarget($actions['delete'], $n2)); $this->assertFalse($u->canActOnTarget($actions['publish'], $n2)); $this->assertFalse($u->canActOnTarget($actions['verify'], $n2)); $this->assertTrue($u->canActOnTarget($actions['view'], $n3)); $this->assertFalse($u->canActOnTarget($actions['edit'], $n3)); $this->assertFalse($u->canActOnTarget($actions['create'], $n3)); $this->assertFalse($u->canActOnTarget($actions['delete'], $n3)); $this->assertFalse($u->canActOnTarget($actions['publish'], $n3)); $this->assertFalse($u->canActOnTarget($actions['verify'], $n3)); $this->assertTrue($u->canActOnTarget($actions['view'], $s1)); $this->assertFalse($u->canActOnTarget($actions['edit'], $s1)); $this->assertFalse($u->canActOnTarget($actions['create'], $s1)); $this->assertFalse($u->canActOnTarget($actions['delete'], $s1)); $this->assertFalse($u->canActOnTarget($actions['publish'], $s1)); $this->assertFalse($u->canActOnTarget($actions['verify'], $s1)); $this->assertFalse($u->canActOnTarget($actions['view'], $s2)); $this->assertFalse($u->canActOnTarget($actions['edit'], $s2)); $this->assertFalse($u->canActOnTarget($actions['create'], $s2)); $this->assertFalse($u->canActOnTarget($actions['delete'], $s2)); $this->assertFalse($u->canActOnTarget($actions['publish'], $s2)); $this->assertFalse($u->canActOnTarget($actions['verify'], $s2)); $this->assertTrue($u->canActOnTarget($actions['view'], $mds)); $this->assertFalse($u->canActOnTarget($actions['edit'], $mds)); $this->assertFalse($u->canActOnTarget($actions['create'], $mds)); $this->assertFalse($u->canActOnTarget($actions['delete'], $mds)); $this->assertFalse($u->canActOnTarget($actions['publish'], $mds)); $this->assertFalse($u->canActOnTarget($actions['verify'], $mds)); $this->assertTrue($u->canActOnTarget($actions['view'], $mdts)); $this->assertFalse($u->canActOnTarget($actions['edit'], $mdts)); $this->assertFalse($u->canActOnTarget($actions['create'], $mdts)); $this->assertFalse($u->canActOnTarget($actions['delete'], $mdts)); $this->assertFalse($u->canActOnTarget($actions['publish'], $mdts)); $this->assertFalse($u->canActOnTarget($actions['verify'], $mdts)); $this->assertTrue($u->canActOnTarget($actions['view'], $mdtv)); $this->assertFalse($u->canActOnTarget($actions['edit'], $mdtv)); $this->assertFalse($u->canActOnTarget($actions['create'], $mdtv)); $this->assertFalse($u->canActOnTarget($actions['delete'], $mdtv)); $this->assertFalse($u->canActOnTarget($actions['publish'], $mdtv)); $this->assertFalse($u->canActOnTarget($actions['verify'], $mdtv)); $this->assertTrue($u->canActOnTarget($actions['view'], $ap)); $this->assertFalse($u->canActOnTarget($actions['edit'], $ap)); $this->assertFalse($u->canActOnTarget($actions['create'], $ap)); $this->assertFalse($u->canActOnTarget($actions['delete'], $ap)); $this->assertFalse($u->canActOnTarget($actions['publish'], $ap)); $this->assertFalse($u->canActOnTarget($actions['verify'], $ap)); // manager $u = User::getOneFromDb(['user_id' => 110], $this->DB); // manager user $this->assertTrue($u->canActOnTarget($actions['view'], $n1)); $this->assertTrue($u->canActOnTarget($actions['edit'], $n1)); $this->assertTrue($u->canActOnTarget($actions['create'], $n1)); $this->assertTrue($u->canActOnTarget($actions['delete'], $n1)); $this->assertTrue($u->canActOnTarget($actions['publish'], $n1)); $this->assertTrue($u->canActOnTarget($actions['verify'], $n1)); $this->assertTrue($u->canActOnTarget($actions['view'], $n2)); $this->assertTrue($u->canActOnTarget($actions['edit'], $n2)); $this->assertTrue($u->canActOnTarget($actions['create'], $n2)); $this->assertTrue($u->canActOnTarget($actions['delete'], $n2)); $this->assertTrue($u->canActOnTarget($actions['publish'], $n2)); $this->assertTrue($u->canActOnTarget($actions['verify'], $n2)); $this->assertTrue($u->canActOnTarget($actions['view'], $n3)); $this->assertTrue($u->canActOnTarget($actions['edit'], $n3)); $this->assertTrue($u->canActOnTarget($actions['create'], $n3)); $this->assertTrue($u->canActOnTarget($actions['delete'], $n3)); $this->assertTrue($u->canActOnTarget($actions['publish'], $n3)); $this->assertTrue($u->canActOnTarget($actions['verify'], $n3)); $this->assertTrue($u->canActOnTarget($actions['view'], $s1)); $this->assertTrue($u->canActOnTarget($actions['edit'], $s1)); $this->assertTrue($u->canActOnTarget($actions['create'], $s1)); $this->assertTrue($u->canActOnTarget($actions['delete'], $s1)); $this->assertTrue($u->canActOnTarget($actions['publish'], $s1)); $this->assertTrue($u->canActOnTarget($actions['verify'], $s1)); $this->assertTrue($u->canActOnTarget($actions['view'], $s2)); $this->assertTrue($u->canActOnTarget($actions['edit'], $s2)); $this->assertTrue($u->canActOnTarget($actions['create'], $s2)); $this->assertTrue($u->canActOnTarget($actions['delete'], $s2)); $this->assertTrue($u->canActOnTarget($actions['publish'], $s2)); $this->assertTrue($u->canActOnTarget($actions['verify'], $s2)); $this->assertTrue($u->canActOnTarget($actions['view'], $mds)); $this->assertTrue($u->canActOnTarget($actions['edit'], $mds)); $this->assertTrue($u->canActOnTarget($actions['create'], $mds)); $this->assertTrue($u->canActOnTarget($actions['delete'], $mds)); $this->assertTrue($u->canActOnTarget($actions['publish'], $mds)); $this->assertTrue($u->canActOnTarget($actions['verify'], $mds)); $this->assertTrue($u->canActOnTarget($actions['view'], $mdts)); $this->assertTrue($u->canActOnTarget($actions['edit'], $mdts)); $this->assertTrue($u->canActOnTarget($actions['create'], $mdts)); $this->assertTrue($u->canActOnTarget($actions['delete'], $mdts)); $this->assertTrue($u->canActOnTarget($actions['publish'], $mdts)); $this->assertTrue($u->canActOnTarget($actions['verify'], $mdts)); $this->assertTrue($u->canActOnTarget($actions['view'], $mdtv)); $this->assertTrue($u->canActOnTarget($actions['edit'], $mdtv)); $this->assertTrue($u->canActOnTarget($actions['create'], $mdtv)); $this->assertTrue($u->canActOnTarget($actions['delete'], $mdtv)); $this->assertTrue($u->canActOnTarget($actions['publish'], $mdtv)); $this->assertTrue($u->canActOnTarget($actions['verify'], $mdtv)); $this->assertTrue($u->canActOnTarget($actions['view'], $ap)); $this->assertTrue($u->canActOnTarget($actions['edit'], $ap)); $this->assertTrue($u->canActOnTarget($actions['create'], $ap)); $this->assertTrue($u->canActOnTarget($actions['delete'], $ap)); $this->assertTrue($u->canActOnTarget($actions['publish'], $ap)); $this->assertTrue($u->canActOnTarget($actions['verify'], $ap)); }
function testLoadSpecimens() { $ap = Authoritative_Plant::getOneFromDb(['authoritative_plant_id' => 5001], $this->DB); $this->assertEqual(0, count($ap->specimens)); $ap->loadSpecimens(); $this->assertEqual(1, count($ap->specimens)); $this->assertEqual(8001, $ap->specimens[0]->specimen_id); }
function testViewNotLoggedIn() { // $this->doLoginBasic(); $ap = Authoritative_Plant::getOneFromDb(['authoritative_plant_id' => 5001], $this->DB); $this->goToView($ap->authoritative_plant_id); $this->checkBasicAsserts(); // $this->showContent(); // page heading $this->assertLink(util_lang('authoritative_plant')); // NO 'edit' control $this->assertNoLink(util_lang('edit')); // MORE!!!! // NOTE: assuming that if one relevant piece of info shows up then they're all there - detailed testing is handled in the class test suite renderAsViewTest // $this->todo("check for auth plant info"); $this->assertText('AP_A_order'); // $this->todo("check for extras info"); $this->assertText("AP_A common a american chestnut"); // $this->todo("check for notebook pages"); $this->assertLink('in notebook testnotebook4'); }
public function getAuthoritativePlant() { if ($this->notebook_page_id == 'NEW') { return ''; } return Authoritative_Plant::getOneFromDb(['authoritative_plant_id' => $this->authoritative_plant_id], $this->dbConnection); }
function testRenderAsListItem_NonEditor() { $np = Notebook_Page::getOneFromDb(['notebook_page_id' => 1104], $this->DB); global $USER; $USER = User::getOneFromDb(['username' => TESTINGUSER], $this->DB); $plant = Authoritative_Plant::getOneFromDb(['authoritative_plant_id' => 5001], $this->DB); $rendered = $np->renderAsListItem(); $canonical = '<li data-notebook_page_id="1104" data-created_at="' . $np->created_at . '" data-updated_at="' . $np->updated_at . '" data-notebook_id="1004" data-authoritative_plant_id="5001" data-notes="first page of testnotebook4, owned by user 110" data-flag_workflow_published="0" data-flag_workflow_validated="0" data-flag_delete="0"><a href="' . APP_ROOT_PATH . '/app_code/notebook_page.php?action=view¬ebook_page_id=1104">' . htmlentities($plant->renderAsShortText()) . '</a></li>'; // echo "<pre>\n".htmlentities($canonical)."\n".htmlentities($rendered)."\n</pre>"; $this->assertEqual($canonical, $rendered); }
function testCreationOfNewPlant() { $this->doLoginAdmin(); $this->get('http://localhost/digitalfieldnotebooks/app_code/authoritative_plant.php?action=create'); $this->checkBasicAsserts(); $this->assertTrue($this->setField('authoritative_plant-genus_NEW', 'uniquenewgenus')); $this->assertTrue($this->setField('authoritative_plant-species_NEW', 'uniquenewspecies')); $this->assertTrue($this->setField('flag_active', true)); /////////////////////////////// //// submit the form $this->click('<i class="icon-ok-sign icon-white"></i> ' . util_lang('update', 'properize')); $new_ap = Authoritative_Plant::getOneFromDb(['species' => 'uniquenewspecies'], $this->DB); $this->assertTrue($new_ap->matchesDb); $this->assertTrue($new_ap->flag_active); }
public function getAuthoritativePlant() { return Authoritative_Plant::getOneFromDb(['authoritative_plant_id' => $this->authoritative_plant_id, 'flag_delete' => FALSE], $this->dbConnection); }
function testRenderSpecimenListBlock() { $ap = Authoritative_Plant::getOneFromDb(['authoritative_plant_id' => 5001], $this->DB); $ap->cacheSpecimens(); $canonical = ''; $canonical .= ' <h4>' . ucfirst(util_lang('specimens')) . "</h4>\n" . ' <ul class="specimens">' . "\n"; $canonical .= ' <li><a href="#" id="add_new_specimen_button" class="btn">' . util_lang('add_specimen') . '</a></li>' . "\n"; if ($ap->specimens) { foreach ($ap->specimens as $specimen) { $canonical .= ' <li id="list_item-specimen_' . $specimen->specimen_id . '">' . $specimen->renderAsEditEmbed() . "</li>\n"; } } else { $canonical .= '<li>' . util_lang('no_metadata', 'ucfirst') . '</li>' . "\n"; } $canonical .= " </ul>\n"; $rendered = Specimen::renderSpecimenListBlock($ap->specimens); $this->assertEqual($canonical, $rendered); $this->assertNoPattern('/IMPLEMENTED/', $rendered); }
public function getTargets() { switch ($this->target_type) { case 'global_notebook': return Notebook::getAllFromDb([], $this->dbConnection); break; case 'global_metadata': return Metadata_Structure::getAllFromDb([], $this->dbConnection); break; case 'global_plant': return Authoritative_Plant::getAllFromDb([], $this->dbConnection); break; case 'global_specimen': return Specimen::getAllFromDb([], $this->dbConnection); break; case 'notebook': return array(Notebook::getOneFromDb(['notebook_id' => $this->target_id], $this->dbConnection)); break; case 'metadata_structure': return array(Metadata_Structure::getOneFromDb(['metadata_structure_id' => $this->target_id], $this->dbConnection)); break; case 'plant': return array(Authoritative_Plant::getOneFromDb(['authoritative_id' => $this->target_id], $this->dbConnection)); break; case 'specimen': return array(Specimen::getOneFromDb(['specimen_id' => $this->target_id], $this->dbConnection)); break; default: return array(); } }