Advertisement
Guest User

Untitled

a guest
Jun 19th, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.31 KB | None | 0 0
  1. <?php
  2. /**
  3.  * Description of User
  4.  *
  5.  * @author jon
  6.  */
  7. class Model_User
  8. {
  9.     protected static $users = array();
  10.  
  11.     public static function getUsers()
  12.     {
  13.         return self::$users;
  14.     }
  15.  
  16.     public static function create($username , $password)
  17.     {
  18.         self::$users[$username] = $password;
  19.     }
  20.  
  21.     public static function findByUsername($username)
  22.     {
  23.         if (array_key_exists($username, self::$users))
  24.         {
  25.             $user = new self();
  26.             $user->username = $username;
  27.             $user->password = self::$users[$username];
  28.             return $user;
  29.         }
  30.         return false;
  31.     }
  32.  
  33.     public $username;
  34.  
  35.     public $password;
  36.  
  37.     public function save()
  38.     {
  39.         self::$users[$this->username] = $this->password;
  40.     }
  41.  
  42.     public function delete()
  43.     {
  44.         if (array_key_exists($this->username, self::$users))
  45.         {
  46.             unset(self::$users[$this->username]);
  47.         }
  48.     }
  49.  
  50. }
  51.  
  52.  
  53. /**
  54.  * Description of UserTest
  55.  *
  56.  * @author jon
  57.  */
  58. class Model_UserTest
  59.     extends PHPUnit_Framework_TestCase
  60. {
  61.     private $username = 'jon';
  62.    
  63.     private $password = 'abc123';
  64.  
  65.     public function testUserModel()
  66.     {
  67.         $u = new Model_User();
  68.         $this->assertType('Model_User',$u);
  69.     }
  70.     public function testCanCreateUsers()
  71.     {
  72.         Model_User::create($this->username, $this->password);
  73.         $this->assertArrayHasKey($this->username, Model_User::getUsers());
  74.  
  75.         $u = new Model_User();
  76.         $u->username = 'myuser';
  77.         $u->password = 'mypass';
  78.         $u->save();
  79.  
  80.         $foundUser = Model_User::findByUsername('myuser');
  81.         $this->assertType('Model_User', $foundUser);
  82.  
  83.     }
  84.     public function testCanFindByUsername()
  85.     {
  86.         Model_User::create($this->username, $this->password);
  87.         $user = Model_User::findByUsername($this->username);
  88.         $this->assertType('Model_User', $user);
  89.         $this->assertEquals($user->password, $this->password);
  90.         $user->delete();
  91.  
  92.         $user = Model_User::findByUsername($this->username);
  93.         $this->assertFalse($user);
  94.     }
  95.  
  96.     public function testCanDetectUserNotFound()
  97.     {
  98.         $user = Model_User::findByUsername($this->username);
  99.         $this->assertFalse($user);        
  100.     }
  101.  
  102.    
  103.  
  104. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement