AuthUserHelperTest.php 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. <?php
  2. namespace Tools\Test\TestCase\View\Helper;
  3. use Tools\View\Helper\AuthUserHelper;
  4. use Cake\Core\Configure;
  5. use Cake\TestSuite\TestCase;
  6. use Cake\View\View;
  7. /**
  8. * AuthUserHelper class
  9. *
  10. */
  11. class AuthUserHelperTest extends TestCase {
  12. /**
  13. * fixtures
  14. *
  15. * @var string
  16. */
  17. public $fixtures = array('core.sessions');
  18. public $AuthUser;
  19. /**
  20. * setUp method
  21. *
  22. * @return void
  23. */
  24. public function setUp() {
  25. parent::setUp();
  26. $this->request = $this->getMock('Cake\Network\Request', ['cookie']);
  27. $this->view = new View($this->request);
  28. $this->AuthUser = new AuthUserHelper($this->view);
  29. }
  30. /**
  31. * tearDown method
  32. *
  33. * @return void
  34. */
  35. public function tearDown() {
  36. parent::tearDown();
  37. }
  38. /**
  39. * testSessionReadWrite method
  40. *
  41. * @return void
  42. * @expectedException RuntimeException
  43. */
  44. public function testEmptyAuthSessionDueToMissing() {
  45. $this->AuthUser->id();
  46. }
  47. /**
  48. * AuthUserHelperTest::testEmptyAuthSession()
  49. *
  50. * @return void
  51. */
  52. public function testEmptyAuthSession() {
  53. $this->view->viewVars['authUser'] = [];
  54. $this->assertNull($this->AuthUser->id());
  55. $this->assertFalse($this->AuthUser->isMe(null));
  56. $this->assertFalse($this->AuthUser->isMe(''));
  57. $this->assertFalse($this->AuthUser->isMe(0));
  58. $this->assertFalse($this->AuthUser->isMe(1));
  59. }
  60. /**
  61. * AuthUserHelperTest::testId()
  62. *
  63. * @return void
  64. */
  65. public function testId() {
  66. $this->view->viewVars['authUser'] = ['id' => '1'];
  67. $this->assertSame('1', $this->AuthUser->id());
  68. }
  69. /**
  70. * AuthUserHelperTest::testId()
  71. *
  72. * @return void
  73. */
  74. public function testIsMe() {
  75. $this->view->viewVars['authUser'] = ['id' => '1'];
  76. $this->assertFalse($this->AuthUser->isMe(null));
  77. $this->assertFalse($this->AuthUser->isMe(''));
  78. $this->assertFalse($this->AuthUser->isMe(0));
  79. $this->assertTrue($this->AuthUser->isMe('1'));
  80. $this->assertTrue($this->AuthUser->isMe(1));
  81. }
  82. /**
  83. * AuthUserHelperTest::testUser()
  84. *
  85. * @return void
  86. */
  87. public function testUser() {
  88. $this->view->viewVars['authUser'] = ['id' => '1', 'username' => 'foo'];
  89. $this->assertSame(['id' => '1', 'username' => 'foo'], $this->AuthUser->user());
  90. $this->assertSame('foo', $this->AuthUser->user('username'));
  91. $this->assertNull($this->AuthUser->user('foofoo'));
  92. }
  93. /**
  94. * AuthUserHelperTest::testRoles()
  95. *
  96. * @return void
  97. */
  98. public function testRoles() {
  99. $this->view->viewVars['authUser'] = ['id' => '1', 'Roles' => ['1', '2']];
  100. $this->assertSame(['1', '2'], $this->AuthUser->roles());
  101. }
  102. /**
  103. * AuthUserHelperTest::testRolesDeep()
  104. *
  105. * @return void
  106. */
  107. public function testRolesDeep() {
  108. $this->view->viewVars['authUser'] = ['id' => '1', 'Roles' => [['id' => '1'], ['id' => '2']]];
  109. $this->assertSame(['1', '2'], $this->AuthUser->roles());
  110. }
  111. /**
  112. * AuthUserHelperTest::testHasRole()
  113. *
  114. * @return void
  115. */
  116. public function testHasRole() {
  117. $this->view->viewVars['authUser'] = ['id' => '1', 'Roles' => [['id' => '1'], ['id' => '2']]];
  118. $this->assertTrue($this->AuthUser->hasRole(2));
  119. $this->assertTrue($this->AuthUser->hasRole('2'));
  120. $this->assertFalse($this->AuthUser->hasRole(3));
  121. $this->assertTrue($this->AuthUser->hasRole(3, [1, 3]));
  122. $this->assertFalse($this->AuthUser->hasRole(3, [2, 4]));
  123. }
  124. /**
  125. * AuthUserHelperTest::testHasRoles()
  126. *
  127. * @return void
  128. */
  129. public function testHasRoles() {
  130. $this->view->viewVars['authUser'] = ['id' => '1', 'Roles' => [['id' => '1'], ['id' => '2']]];
  131. $this->assertTrue($this->AuthUser->hasRoles([2]));
  132. $this->assertTrue($this->AuthUser->hasRoles('2'));
  133. $this->assertFalse($this->AuthUser->hasRoles([3, 4]));
  134. $this->assertTrue($this->AuthUser->hasRoles([1, 2], false));
  135. $this->assertTrue($this->AuthUser->hasRoles([1, 6], [1, 3, 5]));
  136. $this->assertFalse($this->AuthUser->hasRoles([3, 4], [2, 4]));
  137. $this->assertFalse($this->AuthUser->hasRoles([1, 3, 5], false, [1, 3]));
  138. $this->assertTrue($this->AuthUser->hasRoles([1, 3, 5], false, [1, 3, 5]));
  139. }
  140. }