Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //TEST dla user
- <?php
- if (!isset($_SESSION)) $_SESSION = array();
- require __DIR__ . '/../User.php';
- use PHPUnit\Framework\TestCase;
- class UserTest extends TestCase
- {
- protected function setUp()
- {
- $_SESSION = [];
- }
- protected $backupGlobalsBlacklist = array('_SESSION');
- public function testUserRegister()
- {
- $user = new User();
- $this->assertFalse($user->register('sanjiisan', 'sh', '123'));//Password to short
- $user->register('sanjiisan', 'zaq1@WSX12', '94030711616');
- $this->assertFalse($user->register('sanjiisan', 'password', '465465456'));
- $usersList = [
- [
- 'login' => 'sanjiisan',
- 'pass' => 'zaq1@WSX12',
- 'pesel' => '94030711616'
- ]
- ];
- $this->assertEquals($usersList, $user->getUsers());
- }
- public function testLoginUser()
- {
- $user = new User();
- $user->register('sanjiisan', 'zaq1@WSX12', '94030711616');
- $this->assertFalse($user->login('sanjiisan', 'wrong_password'));
- $this->assertFalse($user->login('not_exist', 'pass'));
- $this->assertEquals($user, $user->login('sanjiisan', 'zaq1@WSX12'));
- $this->assertEquals(serialize([
- 'login' => 'sanjiisan',
- 'pass' => 'zaq1@WSX12',
- 'pesel' => '94030711616'
- ]), $_SESSION['user']);
- }
- public function testChangeData()
- {
- $user = new User();
- $user->register('sanjiisan', 'zaq1@WSX12', '94030711616');
- $this->assertFalse($user->changeData('tomek', 'qweqwe', '123456789'));
- $user->login('sanjiisan', 'zaq1@WSX12');
- $this->assertEquals($user, $user->changeData('tomek', 'qweqwe', '123456789'));
- $this->assertEquals(serialize([
- 'login' => 'tomek',
- 'pass' => 'qweqwe',
- 'pesel' => '123456789'
- ]), $_SESSION['user']);
- $usersList = [
- [
- 'login' => 'tomek',
- 'pass' => 'qweqwe',
- 'pesel' => '123456789'
- ]
- ];
- $this->assertEquals($usersList, $user->getUsers());
- }
- }
- ///klasa usera
- <?php
- class User
- {
- private $registeredUsers = [];
- public function register($login, $pass, $pesel)
- {
- if (strlen($pass) < 3) {
- return false;
- }
- $user = $this->getUser($login);
- if ($user) {
- return false;
- }
- $this->registeredUsers[] = [
- 'login' => $login,
- 'pass' => $pass,
- 'pesel' => $pesel
- ];
- }
- public function getUsers()
- {
- return $this->registeredUsers;
- }
- public function login($login, $pass)
- {
- $userToLogin = $this->getUser($login, $pass);
- if (!$userToLogin) {
- return false;
- }
- $_SESSION['user'] = serialize([
- 'login' => $userToLogin['login'],
- 'pass' => $userToLogin['pass'],
- 'pesel' => $userToLogin['pesel']
- ]);
- return $this;
- }
- public function changeData($login, $pass, $pesel)
- {
- if (!isset($_SESSION['user'])) {
- return false;
- }
- $loggedInUser = unserialize($_SESSION['user']);
- foreach ($this->registeredUsers as &$user) {
- if ($user['login'] === $loggedInUser['login']) {
- $user['login'] = $login;
- $user['pass'] = $pass;
- $user['pesel'] = $pesel;
- break;
- }
- }
- $_SESSION['user'] = serialize([
- 'login' => $login,
- 'pass' => $pass,
- 'pesel' => $pesel
- ]);
- return $this;
- }
- private function getUser($login, $password = null)
- {
- foreach ($this->registeredUsers as $user) {
- if ($user['login'] === $login) {
- if ($password !== null) {
- if ($user['pass'] === $password) {
- return $user;
- } else {
- return false;
- }
- } else {
- return $user;
- }
- }
- }
- return false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement