public function testInsertDuplicateUserData() { ob_start(); $myDb = DBMaker::create('botspacetest'); Database::clearDB(); $db = Database::getDB('botspacetest', 'C:\\xampp\\myConfig.ini'); $beforeCount = count(UserDataDB::getUserDataBy()); $userDataCopy = UserDataDB::getUserDataRowSetsBy('userDataId', 1); $userDataCopy = $userDataCopy[0]; $s1 = new UserData($userDataCopy); $insertedUserData = UserDataDB::addUserData($s1); $this->assertGreaterThan(0, $insertedUserData->getErrorCount(), 'Duplicate attempt should return with an error'); $afterCount = count(UserDataDB::getUserDataBy()); $this->assertEquals($afterCount, $beforeCount, 'The database should have the same number of elements after the insertion attempt'); ob_get_clean(); }
public function testInvalidUserDataCreate() { // Use an output buffer to handle the expected error message from the // invalid insertion attempt ob_start(); $myDb = DBMaker::create('botspacetest'); Database::clearDB(); $db = Database::getDB('botspacetest', 'C:\\xampp\\myConfig.ini'); // UserData is not associated with userId yet $validTest = array("userId" => 4, "user_name" => "the-original-mr-roboto", "skill_level" => "invalid_skill_level", "skill_areas" => array("programming", "ultrasonic", "wiring"), "profile_pic" => "no-photo.jpg", "started_hobby" => "2015-10-01", "fav_color" => "#00ff00", "url" => "http://www.askjeeves.com", "phone" => "210-555-4444"); $s1 = new UserData($validTest); $beforeCount = count(UserDataDB::getUserDataBy()); $newUserData = UserDataDB::addUserData($s1); $this->assertTrue($s1->getErrorCount() > 0, 'The user data should have an error'); $afterCount = count(UserDataDB::getUserDataBy()); $this->assertEquals($afterCount, $beforeCount, 'The database should not have any additional user data entries after insertion'); ob_get_clean(); }
public static function newUserData() { $userData = null; $newUserData = null; if ($_SERVER["REQUEST_METHOD"] == "POST") { $userData = new UserData($_POST); } $_SESSION['userData'] = $userData; if (is_null($userData) || $userData->getErrorCount() != 0) { UserDataView::showNew(); } else { $newUserData = UserDataDB::addUserData($userData); if (!is_null($newUserData) && $newUserData->getErrorCount() == 0) { $_SESSION['userData'] = $newUserData; } HomeView::show(); //header('Location: /'.$_SESSION['base']); } }
public static function run() { $user = null; $userData = null; if ($_SERVER["REQUEST_METHOD"] == "POST") { //print_r($_POST); $formUser = new User($_POST); $user = UsersDB::addUser($formUser); if ($user->getErrorCount() == 0) { $_POST["userId"] = $user->getUserId(); $formUserData = new UserData($_POST); $userData = UserDataDB::addUserData($formUserData); if ($userData->getErrorCount() == 0) { $_SESSION['user'] = $user; $_SESSION['userData'] = $userData; } } } if (is_null($user) || is_null($userData) || $user->getErrorCount() != 0 || $userData->getErrorCount() != 0) { SignupView::show($user, $userData); } else { ProfileView::show(); } }
} ?> <h2>It should allow a new valid user data to be added for a new user</h2> <?php makeDB('botspacetest'); Database::clearDB(); $db = Database::getDB('botspacetest'); echo "Number of user data in db before adding is: " . count(UserDataDB::getUserDataBy()) . "<br>"; $validTestUser = array("email" => "*****@*****.**", "password" => "validpassword"); $user = new User($validTestUser); $userId = UsersDB::addUser($user); $validTestUserData = array("user_name" => "newbie-user", "skill_level" => "novice", "skill_areas" => array("computer-vision", "soldering", "circuit-design"), "profile_pic" => "no-picture.jpg", "started_hobby" => "2015-10", "fav_color" => "#ff8000", "url" => "http://www.wired.com", "phone" => "210-555-1234"); $userData = new UserData($validTestUserData); $userData->setUserId($userId); $userDataId = UserDataDB::addUserData($userData); echo "Number of user data in db after adding is: " . count(UserDataDB::getUserDataBy()) . "<br>"; echo "UserData ID of new user is: {$userDataId}"; ?> <h2>It should not allow invalid user data to be added</h2> <h2>It should allow user data to be edited for an existing user</h2> <h2>It should not allow user data to be added for a nonexistent user</h2> <h2>It should not get user data not in UserData</h2>