Ejemplo n.º 1
0
 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>