Skip to content

Commit

Permalink
BcAuthHelper::isAdminUser()のユニットテスト (#3611)
Browse files Browse the repository at this point in the history
Co-authored-by: Đỗ Văn Hùng <[email protected]>
  • Loading branch information
HungDV2022 and dovanhung authored Jul 19, 2024
1 parent 073e1e1 commit 0f53330
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 10 deletions.
1 change: 1 addition & 0 deletions plugins/baser-core/src/View/Helper/BcAuthHelper.php
Original file line number Diff line number Diff line change
Expand Up @@ -258,6 +258,7 @@ public function isSuperUser(): bool
* @return boolean
* @checked
* @noTodo
* @unitTest
*/
public function isAdminUser(): bool
{
Expand Down
2 changes: 1 addition & 1 deletion plugins/baser-core/tests/Factory/UserGroupFactory.php
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ public function admins()
return $this->setField('id', 1)
->setField('name', 'admins')
->setField('title', 'システム管理')
->setField('auth_prefix', 'Admin, Api/Admin')
->setField('auth_prefix', 'Admin,Api/Admin')
->setField('use_move_contents', 1);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,7 @@ public function test_getAuthPrefixes()

//user group is not empty
$user_groups = $this->User->getAuthPrefixes();
$this->assertEquals([0 => 'Admin', 1 => ' Api/Admin'], $user_groups);
$this->assertEquals([0 => 'Admin', 1 => 'Api/Admin'], $user_groups);
}

public function test_isSuper()
Expand Down
27 changes: 19 additions & 8 deletions plugins/baser-core/tests/TestCase/View/Helper/BcAuthHelperTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,8 @@

namespace BaserCore\Test\TestCase\View\Helper;

use BaserCore\Test\Scenario\SitesScenario;
use BaserCore\Test\Scenario\UserGroupsScenario;
use BaserCore\Test\Scenario\UserScenario;
use BaserCore\Test\Scenario\UsersUserGroupsScenario;
use BaserCore\Test\Factory\UserFactory;
use BaserCore\Test\Scenario\InitAppScenario;
use BaserCore\TestSuite\BcTestCase;
use BaserCore\View\BcAdminAppView;
use BaserCore\View\Helper\BcAuthHelper;
Expand All @@ -38,10 +36,6 @@ class BcAuthHelperTest extends BcTestCase
public function setUp(): void
{
parent::setUp();
$this->loadFixtureScenario(UserScenario::class);
$this->loadFixtureScenario(UserGroupsScenario::class);
$this->loadFixtureScenario(UsersUserGroupsScenario::class);
$this->loadFixtureScenario(SitesScenario::class);
// adminの場合
$BcAdminAppView = new BcAdminAppView();
$BcAdminAppView->setRequest($this->getRequest()->withParam('prefix', 'Admin'));
Expand All @@ -67,6 +61,7 @@ public function tearDown(): void
*/
public function testGetCurrentPrefix()
{
$this->loadFixtureScenario(InitAppScenario::class);
// adminの場合
$result = $this->BcAuth->getCurrentPrefix();
$this->assertEquals('Admin', $result);
Expand All @@ -81,6 +76,7 @@ public function testGetCurrentPrefix()
*/
public function testGetPrefixSetting()
{
$this->loadFixtureScenario(InitAppScenario::class);
// 管理画面の場合
$result = $this->BcAuth->getPrefixSetting('Admin');
$this->assertEquals($result['name'], "管理システム");
Expand All @@ -94,6 +90,7 @@ public function testGetPrefixSetting()
*/
public function testGetCurrentPrefixSetting()
{
$this->loadFixtureScenario(InitAppScenario::class);
// 管理画面の場合
$result = $this->BcAuth->getCurrentPrefixSetting();
$this->assertEquals($result['name'], "管理システム");
Expand All @@ -111,6 +108,7 @@ public function testGetCurrentPrefixSetting()
*/
public function testGetLoginUrl()
{
$this->loadFixtureScenario(InitAppScenario::class);
// 管理画面の場合
$this->assertEquals('/baser/admin/baser-core/users/login', $this->BcAuth->getLoginUrl('Admin'));
// 設定がない場合
Expand All @@ -123,6 +121,7 @@ public function testGetLoginUrl()
*/
public function testGetCurrentLoginUrl()
{
$this->loadFixtureScenario(InitAppScenario::class);
// Adminの場合
$expected = "/baser/admin/baser-core/users/login";
$result = $this->BcAuth->getCurrentLoginUrl();
Expand All @@ -142,6 +141,7 @@ public function testGetCurrentLoginUrl()
*/
public function testGetCurrentUserPrefixes()
{
$this->loadFixtureScenario(InitAppScenario::class);
// TODO getCurrentUserPrefixSettings() の実装が完了したら別パターンのテストを追加する
$this->loginAdmin($this->getRequest('/baser/admin'));
$result = $this->BcAuth->getCurrentUserPrefixes();
Expand All @@ -154,6 +154,7 @@ public function testGetCurrentUserPrefixes()
*/
public function testIsCurrentUserAdminAvailable()
{
$this->loadFixtureScenario(InitAppScenario::class);
$this->loginAdmin($this->getRequest('/baser/admin'));
$result = $this->BcAuth->isCurrentUserAdminAvailable();
$this->assertTrue($result);
Expand All @@ -165,6 +166,7 @@ public function testIsCurrentUserAdminAvailable()
*/
public function testGetCurrentName()
{
$this->loadFixtureScenario(InitAppScenario::class);
// prefix(admin)の場合
$expected = Configure::read('BcPrefixAuth.Admin')['name'];
$result = $this->BcAuth->getCurrentName();
Expand All @@ -177,6 +179,7 @@ public function testGetCurrentName()
*/
public function testIsAdminLogin()
{
$this->loadFixtureScenario(InitAppScenario::class);
// ログインしない場合;
$result = $this->BcAuth->isAdminLogin();
$this->assertFalse($result);
Expand All @@ -191,6 +194,7 @@ public function testIsAdminLogin()
*/
public function testGetLogoutUrl()
{
$this->loadFixtureScenario(InitAppScenario::class);
// Adminの場合
$this->assertEquals([
'prefix' => 'Admin',
Expand All @@ -208,6 +212,7 @@ public function testGetLogoutUrl()
*/
public function testGetCurrentLogoutUrl()
{
$this->loadFixtureScenario(InitAppScenario::class);
// Adminの場合
$expected = "/baser/admin/baser-core/users/logout";
$result = $this->BcAuth->getCurrentLogoutUrl();
Expand All @@ -230,6 +235,7 @@ public function testGetCurrentLogoutUrl()
*/
public function testGetCurrentLoginRedirectUrl()
{
$this->loadFixtureScenario(InitAppScenario::class);
// Adminの場合
$expected = "/baser/admin";
$result = $this->BcAuth->getCurrentLoginRedirectUrl();
Expand All @@ -247,6 +253,8 @@ public function testGetCurrentLoginRedirectUrl()
*/
public function testGetCurrentLoginUser()
{
$this->loadFixtureScenario(InitAppScenario::class);
UserFactory::make(['id' => 2])->persist();
$ids = [1, 2];
foreach($ids as $id) {
$expected = $this->getUser($id);
Expand All @@ -264,6 +272,8 @@ public function testGetCurrentLoginUser()
*/
public function testIsAdminUser($id, $expected)
{
$this->loadFixtureScenario(InitAppScenario::class);
UserFactory::make(['id' => 2])->persist();
if ($id) {
$this->loginAdmin($this->getRequest('/baser/admin'), $id);
}
Expand All @@ -289,6 +299,7 @@ public static function isAdminUserDataProvider()
*/
public function testIsAgentUser()
{
$this->loadFixtureScenario(InitAppScenario::class);
// AuthAgent.Userが書き込まれてない場合
$result = $this->BcAuth->isAgentUser();
$this->assertFalse($result);
Expand Down

0 comments on commit 0f53330

Please sign in to comment.