public function testInsertDuplicateRobotData() { $myDb = DBMaker::create('botspacetest'); Database::clearDB(); $db = Database::getDB('botspacetest', 'C:\\xampp\\myConfig.ini'); $beforeCount = count(RobotDataDB::getRobotDataBy()); $robotDataCopy = RobotDataDB::getRobotDataBy('robotId', 2); $robotDataCopy = $robotDataCopy[0]; $this->assertEquals(0, $robotDataCopy->getErrorCount(), 'The robot data copy object should have no errors'); $dupRobotData = RobotDataDB::addRobotData($robotDataCopy); $afterCount = count(RobotDataDB::getRobotDataBy()); $this->assertTrue(!empty($dupRobotData->getError('robotId')) && strcmp(Messages::getError('ROBOT_DATA_INVALID'), $dupRobotData->getError('robotId')) == 0, 'It should have a robotDataId error if the robot data is a duplicate'); $this->assertEquals($afterCount, $beforeCount, 'There should be no additional robot data entries after the insertion attempt'); }
public static function newRobotData() { $robotData = null; $newRobotData = null; if ($_SERVER["REQUEST_METHOD"] == "POST") { $creatorIds = array(); foreach ($_POST['creatorNames'] as $creatorName) { $creatorArray = UserDataDB::getUserDataBy('user_name', $creatorName); if (count($creatorArray) >= 1) { $creator = $creatorArray[0]; array_push($creatorIds, $creator->getUserDataId()); } } $_POST['creators'] = $creatorIds; $robotData = new RobotData($_POST); } $_SESSION['robotData'] = $robotData; if (is_null($robotData) || $robotData->getErrorCount() != 0) { RobotDataView::showNew(); } else { $newRobotData = RobotDataDB::addRobotData($robotData); foreach ($robotData->getCreators() as $creatorId) { $robotAssoc = new RobotAssoc($robotData->getRobotId(), $creatorId); $newRobotAssoc = RobotAssocsDB::addRobotAssoc($robotAssoc); } if (!is_null($newRobotData) && $newRobotData->getErrorCount() == 0) { $_SESSION['robotData'] = $newRobotData; } HomeView::show(); } }