diff --git a/src/classes/wishthis/User.php b/src/classes/wishthis/User.php index 41d33daa..d100d157 100644 --- a/src/classes/wishthis/User.php +++ b/src/classes/wishthis/User.php @@ -315,7 +315,13 @@ class User */ public function logIn(string $email = '', string $password = '', bool $user_login_is_persistent = false): bool { - global $database; + $database = new Database( + DATABASE_HOST, + DATABASE_NAME, + DATABASE_USER, + DATABASE_PASSWORD + ); + $database->connect(); $login_was_successful = false; diff --git a/tests/LogInTest.php b/tests/LogInTest.php new file mode 100644 index 00000000..5fd8dec8 --- /dev/null +++ b/tests/LogInTest.php @@ -0,0 +1,47 @@ +assertEquals($user, $userEmpty); + $this->assertFalse($user->isLoggedIn()); + + $database = new Database(DATABASE_HOST, DATABASE_NAME, DATABASE_USER, DATABASE_PASSWORD); + $database->connect(); + $database->query( + 'REPLACE INTO `users` + (`email`, `password`) VALUES + (:userEmail, :userPassword)', + array( + 'userEmail' => $userEmail, + 'userPassword' => $userPassword, + ) + ); + + $userLoginSuccessful = $user->logIn($userEmail, $userPassword); + + $this->assertTrue($userLoginSuccessful); + $this->assertEquals($userEmail, $_SESSION['user']->getEmail()); + } +}