private function updateDataset() { $dataset = $_SESSION['dataset']; if (empty($dataset)) { HomeView::show(); header('Location: /' . $_SESSION['base']); } elseif ($_SERVER['REQUEST_METHOD'] == 'GET') { DatasetView::showUpdate(); } else { $params = $dataset->getParameters(); $params['dataset_name'] = array_key_exists('dataset_name', $_POST) ? $_POST['dataset_name'] : ''; $params['description'] = array_key_exists('description', $_POST) ? $_POST['description'] : ''; $updatedDataset = new Dataset($params); $updatedDataset->setDatasetId($dataset->getDatasetId()); $returnedDataset = DatasetsDB::updateDataset($updatedDataset); if ($returnedDataset->getErrorCount() == 0) { // Show the Dataset view which should display the updated params DatasetView::show(); header('Location: /' . $_SESSION['base'] . '/dataset/show/' . $dataset->getDatasetId()); } else { // Carry over the sensors, if any $updatedDataset->setSensors($dataset->getSensors()); $_SESSION['dataset'] = $updatedDataset; DatasetView::showUpdate(); } } }
public function testUpdateDatasetDescription() { $myDb = DBMaker::create('sensordatarepotest'); Database::clearDB(); $db = Database::getDB('sensordatarepotest', 'C:\\xampp\\myConfig.ini'); $testDatasetId = 1; $datasets = DatasetsDB::getDatasetsBy('dataset_id', $testDatasetId); $dataset = $datasets[0]; $this->assertTrue(empty($dataset->getDescription()), 'Before the update, it should have an empty description'); $params = $dataset->getParameters(); $params['description'] = 'Updated description'; $newDataset = new Dataset($params); $newDataset->setDatasetId($testDatasetId); $returnedDataset = DatasetsDB::updateDataset($newDataset); $this->assertEquals($returnedDataset->getDescription(), $params['description'], 'After the update it should have the name ' . $params['description']); }