UserTest.php 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. <?php
  2. class UserTest extends PHPUnit_Framework_TestCase
  3. {
  4. public function testUserPassword()
  5. {
  6. list($server, $mysqlConfig) = require("test/config.php");
  7. $dbh = new PDO($mysqlConfig[4][0], $mysqlConfig[1], $mysqlConfig[2]);
  8. $dbh->exec("CREATE DATABASE ".$mysqlConfig[4][1]);
  9. \Entity\ModelBase::init($mysqlConfig);
  10. $context = new \Tools\Context($server, false);
  11. \Entity\ModelBase::setup();
  12. $user = new \Entity\User();
  13. $user->setPassword("test");
  14. $this->assertTrue($user->checkPassword("test"));
  15. $this->assertFalse($user->checkPassword("test2"));
  16. $this->assertEquals(60, strlen($user->password));
  17. $this->assertNotEquals("test", $user->password);
  18. $user->password = "test2";
  19. $this->assertFalse($user->checkPassword("test"));
  20. $this->assertTrue($user->checkPassword("test2"));
  21. $this->assertEquals(60, strlen($user->password));
  22. $this->assertNotEquals("test2", $user->password);
  23. }
  24. public function testSave()
  25. {
  26. list($server, $mysqlConfig) = require("test/config.php");
  27. $dbh = new PDO($mysqlConfig[4][0], $mysqlConfig[1], $mysqlConfig[2]);
  28. $dbh->exec("DROP DATABASE ".$mysqlConfig[4][1]);
  29. $dbh->exec("CREATE DATABASE ".$mysqlConfig[4][1]);
  30. \Entity\ModelBase::init($mysqlConfig);
  31. $context = new \Tools\Context($server, false);
  32. \Entity\ModelBase::setup();
  33. $user = new \Entity\User();
  34. $today = new \DateTime();
  35. $today = $today->format("Y-m-d");
  36. $this->assertEquals($today, $user->register);
  37. $this->assertEquals($today, $user->lastVisit);
  38. $this->assertEquals($today, $user->lastConnect);
  39. $this->assertEquals($server["REMOTE_ADDR"], $user->registerIp);
  40. $this->assertEquals($server["REMOTE_ADDR"], $user->lastVisitIp);
  41. $this->assertEquals($server["REMOTE_ADDR"], $user->lastConnectIp);
  42. $user->setPassword("test");
  43. $user->email = "testUser@testhostname.dev";
  44. $user->sexe = "MALE";
  45. $user->optin = true;
  46. $this->assertNull($user->id);
  47. $user->save();
  48. $this->assertNotNull($user->id);
  49. $this->assertInternalType('int', $user->id);
  50. $this->assertEquals(1, $user->id);
  51. $user = new \Entity\User();
  52. $user->setPassword("test");
  53. $user->email = "testUser2@testhostname.dev";
  54. $user->sexe = "FEMALE";
  55. $user->optin = false;
  56. $this->assertNull($user->id);
  57. $user->save();
  58. $this->assertNotNull($user->id);
  59. $this->assertInternalType('int', $user->id);
  60. $this->assertEquals(2, $user->id);
  61. $user1 = new \Entity\User(1);
  62. $user2 = new \Entity\User(2);
  63. $today = new \DateTime();
  64. $today->setTime(0, 0, 0);
  65. $today = $today->format("Y-m-d H:i:s");
  66. $this->assertEquals($today, $user1->register);
  67. $this->assertEquals($today, $user1->lastVisit);
  68. $this->assertEquals($today, $user1->lastConnect);
  69. $this->assertEquals($server["REMOTE_ADDR"], $user1->registerIp);
  70. $this->assertEquals($server["REMOTE_ADDR"], $user1->lastVisitIp);
  71. $this->assertEquals($server["REMOTE_ADDR"], $user1->lastConnectIp);
  72. $this->assertEquals("testUser@testhostname.dev", $user1->email);
  73. $this->assertEquals("testUser2@testhostname.dev", $user2->email);
  74. $this->assertEquals("MALE", $user1->sexe);
  75. $this->assertEquals("FEMALE", $user2->sexe);
  76. $this->assertTrue($user1->optin == 1);
  77. $this->assertFalse($user2->optin == 1);
  78. $this->assertNotNull($user1->id);
  79. $this->assertInternalType('int', $user1->id);
  80. $this->assertEquals(1, $user1->id);
  81. $this->assertNotNull($user2->id);
  82. $this->assertInternalType('int', $user2->id);
  83. $this->assertEquals(2, $user2->id);
  84. $user1->sexe = "FEMALE";
  85. $user1->save();
  86. $user3 = new \Entity\User(1);
  87. $this->assertEquals("testUser@testhostname.dev", $user3->email);
  88. $this->assertEquals("FEMALE", $user3->sexe);
  89. $this->assertTrue($user3->optin == 1);
  90. $this->assertNotNull($user3->id);
  91. $this->assertInternalType('int', $user3->id);
  92. $this->assertEquals(1, $user3->id);
  93. }
  94. }