// util_prePrintR("handling $deleted_specimen_id\n"); if ($deleted_specimen_id) { // util_prePrintR("fetching for delete $deleted_specimen_id\n"); $del_s = Specimen::getOneFromDb(['specimen_id' => $deleted_specimen_id], $DB); if ($del_s->matchesDb) { // util_prePrintR("doing delete $deleted_specimen_id\n"); $del_s->doDelete(); // util_prePrintR("complete delete $deleted_specimen_id\n"); } } } } $intitial_specimen_ids = explode(',', $_REQUEST['initial_specimen_ids']); foreach ($intitial_specimen_ids as $specimen_id) { if (!in_array($specimen_id, $deleted_specimen_ids)) { $s = Specimen::getOneFromDb(['specimen_id' => $specimen_id], $DB); if ($s->matchesDb) { $s->setFromArray($_REQUEST); $s->updateDb(); } } } $created_specimen_ids = explode(',', $_REQUEST['created_specimen_ids']); foreach ($created_specimen_ids as $created_specimen_id) { // echo "TO BE IMPLEMENTED: handle creation of specimens"; if ($created_specimen_id) { $new_s = Specimen::createNewSpecimenForNotebookPage($notebook_page->notebook_page_id, $DB); $new_s->specimen_id = $created_specimen_id; $new_s->setFromArray($_REQUEST); if ($new_s->name != util_lang('new_specimen_name')) { $new_s->specimen_id = 'NEW';
public function getSpecimen() { return Specimen::getOneFromDb(['specimen_id' => $this->specimen_id, 'flag_delete' => FALSE], $this->dbConnection); }
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)); }
$new_ape->notebook_page_field_id = $created_authoritative_plant_extra_id; $new_ape->setFromArray($_REQUEST); if ($new_ape->value != false) { $new_ape->authoritative_plant_extra_id = 'NEW'; $new_ape->updateDb(); } } } ///////////////////// // third, any specimens // deleted $deleted_specimen_ids = explode(',', $_REQUEST['deleted_specimen_ids']); if ($deleted_specimen_ids) { foreach ($deleted_specimen_ids as $deleted_specimen_id) { if ($deleted_specimen_id) { $del_s = Specimen::getOneFromDb(['specimen_id' => $deleted_specimen_id], $DB); if ($del_s->matchesDb) { $del_s->doDelete(); } } } } // altered $ap->cacheSpecimens(); foreach ($ap->specimens as $db_specimen) { $db_specimen->setFromArray($_REQUEST); $db_specimen->updateDb(); } // created $created_specimen_ids = explode(',', $_REQUEST['created_specimen_ids']); foreach ($created_specimen_ids as $created_specimen_id) {
function testBaseDataUpdate() { $this->doLoginBasic(); $this->get('http://localhost/digitalfieldnotebooks/app_code/notebook_page.php?action=edit¬ebook_page_id=1101'); $this->checkBasicAsserts(); $new_notes = 'new notes for the page'; $new_specimen_notes = 'new notes for the specimen'; //// NOTE: the identifier to use for setField is the value of the name attribute of the field $this->setField('notes', $new_notes); // page field alteration $this->assertTrue($this->setField('page_field_select_1201', '6204')); $this->assertTrue($this->setField('page_field_open_value_1204', 'new open value')); // page field addition // $this->todo('figure out how to do page field addition'); // $this->todo('figure out how to do page deletion'); // specimen alteration $this->assertTrue($this->setField('specimen-notes_8002', $new_specimen_notes)); // $this->todo('figure out how to do specimen addition'); // $this->todo('figure out how to do specimen deletion'); // $this->showContent(); //// NOTE: the identifier to use for buttons is the value of the value attribute of the button $this->click('<i class="icon-ok-sign icon-white"></i> ' . util_lang('update', 'properize')); // // $this->showContent(); // $this->checkBasicAsserts(); $this->assertText($new_notes); // $np = Notebook_Page::getOneFromDb(['notebook_page_id' => 1101], $this->DB); $this->assertEqual($np->notes, $new_notes); // $this->todo('check page field alteration on 1201'); $npf = Notebook_Page_Field::getOneFromDb(['notebook_page_field_id' => 1201], $this->DB); $this->assertEqual($npf->value_metadata_term_value_id, 6204); $npf = Notebook_Page_Field::getOneFromDb(['notebook_page_field_id' => 1204], $this->DB); $this->assertEqual($npf->value_open, 'new open value'); // $this->todo('check page field addition'); // $this->todo('check page field deletion'); // $this->todo('check specimen alteration on 8002'); $s = Specimen::getOneFromDb(['specimen_id' => 8002], $this->DB); $this->assertEqual($s->notes, $new_specimen_notes); // $this->todo('check specimen addition'); // $this->todo('check specimen deletion'); // util_prePrintR(htmlentities($this->getBrowser()->getContent())); echo "<br><b>NOTE: skipping create and delete tests for pagefields and specimens because that requires javascript interaction</b><br/>\n"; }
function testDoDelete() { $np = Notebook_Page::getOneFromDb(['notebook_page_id' => 1101], $this->DB); $np->loadSpecimens(); $np->loadPageFields(); $this->assertTrue($np->matchesDb); $this->assertTrue($np->page_fields[0]->matchesDb); $this->assertTrue($np->page_fields[1]->matchesDb); $this->assertTrue($np->page_fields[2]->matchesDb); $this->assertTrue($np->page_fields[3]->matchesDb); $this->assertTrue($np->specimens[0]->matchesDb); $this->assertTrue($np->specimens[1]->matchesDb); //*********** $np->doDelete(); //*********** $np2 = Notebook_Page::createNewNotebookPageForNotebook(1001, $this->DB); $this->assertFalse($np2->matchesDb); $npf = Notebook_Page_Field::getOneFromDb(['notebook_page_field_id' => 1201], $this->DB); $this->assertFalse($npf->matchesDb); $npf = Notebook_Page_Field::getOneFromDb(['notebook_page_field_id' => 1202], $this->DB); $this->assertFalse($npf->matchesDb); $npf = Notebook_Page_Field::getOneFromDb(['notebook_page_field_id' => 1203], $this->DB); $this->assertFalse($npf->matchesDb); $npf = Notebook_Page_Field::getOneFromDb(['notebook_page_field_id' => 1204], $this->DB); $this->assertFalse($npf->matchesDb); $s = Specimen::getOneFromDb(['specimen_id' => 8002], $this->DB); $this->assertFalse($s->matchesDb); $s = Specimen::getOneFromDb(['specimen_id' => 8003], $this->DB); $this->assertFalse($s->matchesDb); $si = Specimen_Image::getOneFromDb(['specimen_image_id' => 8103], $this->DB); $this->assertFalse($si->matchesDb); $si = Specimen_Image::getOneFromDb(['specimen_image_id' => 8104], $this->DB); $this->assertFalse($si->matchesDb); }
function testBaseDataUpdate() { $this->doLoginAdmin(); $this->get('http://localhost/digitalfieldnotebooks/app_code/authoritative_plant.php?action=edit&authoritative_plant_id=5001'); $this->checkBasicAsserts(); /////////////////////////////// //// set form fields ////// NOTE: the identifier to use for setField is the value of the name attribute of the field $this->assertTrue($this->setField('authoritative_plant-class_5001', '')); $this->assertTrue($this->setField('authoritative_plant-order_5001', 'neworder')); $this->assertTrue($this->setField('authoritative_plant-species_5001', 'newspecies')); // // alter common name $this->assertTrue($this->setField('authoritative_plant_extra_5103-value', 'altered common name')); // // alter description $this->assertTrue($this->setField('authoritative_plant_extra_5104-value', 'altered description')); // // alter specimen $this->assertTrue($this->setField('specimen-name_8001', 'altered specimen name')); // JS-driven - can't test here // $this->todo('add new APE'); // $this->todo('delete existing APE'); // // $this->todo('add new specimen'); // $this->todo('delete specimen'); // $this->showContent(); // exit; //// NOTE: the identifier to use for buttons is the value of the value attribute of the button /////////////////////////////// //// submit the form $this->click('<i class="icon-ok-sign icon-white"></i> ' . util_lang('update', 'properize')); // $this->showContent(); // exit; //// /////////////////////////////// //// check the resulting page $this->checkBasicAsserts(); $this->assertNoText('class :'); $this->assertText('neworder'); $this->assertText('newspecies'); $this->assertText('altered common name'); $this->assertText('altered description'); $this->assertText('altered specimen name'); // JS-driven - can't test here // $this->todo('web - check add new APE'); // $this->todo('web - check delete existing APE'); // $this->todo('web - add new specimen'); // $this->todo('web - delete specimen'); /////////////////////////////// //// check the db records $ap = Authoritative_Plant::getOneFromDb(['authoritative_plant_id' => 5001], $this->DB); $this->assertEqual($ap->class, ''); $this->assertEqual($ap->order, 'neworder'); $this->assertEqual($ap->genus, 'AP_A_genus'); $this->assertEqual($ap->species, 'newspecies'); $apeCN = Authoritative_Plant_Extra::getOneFromDb(['authoritative_plant_extra_id' => 5103], $this->DB); $apeDe = Authoritative_Plant_Extra::getOneFromDb(['authoritative_plant_extra_id' => 5104], $this->DB); $spec = Specimen::getOneFromDb(['specimen_id' => 8001], $this->DB); $this->assertEqual('altered common name', $apeCN->value); $this->assertEqual('altered description', $apeDe->value); $this->assertEqual('altered specimen name', $spec->name); // JS-driven - can't test here // $this->todo('db - check add new APE'); // $this->todo('db - check delete existing APE'); // $this->todo('db - add new specimen'); // $this->todo('db - delete specimen'); }
function testDoDelete() { $s = Specimen::getOneFromDb(['specimen_id' => 8001], $this->DB); $s->cacheImages(); $this->assertTrue($s->matchesDb); $this->assertTrue($s->images[0]->matchesDb); $this->assertTrue($s->images[1]->matchesDb); $s->doDelete(); $s2 = Specimen::getOneFromDb(['specimen_id' => 8001], $this->DB); $this->assertFalse($s2->matchesDb); $siA = Specimen_Image::getOneFromDb(['specimen_image_id' => 8101], $this->DB); $this->assertFalse($siA->matchesDb); $siB = Specimen_Image::getOneFromDb(['specimen_image_id' => 8102], $this->DB); $this->assertFalse($siB->matchesDb); }
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(); } }