From 7cc1e954504c66619548788c8f7e90e528c3d91f Mon Sep 17 00:00:00 2001 From: kiswa Date: Fri, 27 Jan 2017 00:46:47 +0000 Subject: [PATCH] Update API tests to 100% coverage --- src/api/controllers/Users.php | 21 +++++++-------------- test/api/controllers/BoardsTest.php | 4 +--- test/api/controllers/UsersTest.php | 20 ++++++++++++++++++++ 3 files changed, 28 insertions(+), 17 deletions(-) diff --git a/src/api/controllers/Users.php b/src/api/controllers/Users.php index 06f6a26..08b6ac1 100644 --- a/src/api/controllers/Users.php +++ b/src/api/controllers/Users.php @@ -282,7 +282,7 @@ class Users extends BaseController { } } - if (count($userData->boardAccess) !== count($boardIds)) { + if (count(array_diff($userData->boardAccess, $boardIds))) { foreach ($boardIds as $removeId) { if (!in_array($removeId, $userData->boardAccess)) { $this->removeUserFromBoard($removeId, $user); @@ -424,21 +424,14 @@ class Users extends BaseController { } private function updateDefaultBoardId(&$data, $user, $update) { - if ($user->default_board_id !== $update->default_board_id && - (int)$update->default_board_id !== 0) { - if (isset($data->boardAccess) && - !in_array($data->default_board_id, $data->boardAccess)) { - $data->boardAccess[] = $data->default_board_id; - } + if ($user->default_board_id === $update->default_board_id || + (int)$update->default_board_id === 0) { + return; } - if ((int)$user->default_board_id !== 0 && - (int)$update->default_board_id === 0) { - $key = array_search($user->default_board_id, $data->boardAccess); - - if ($key) { - unset($data->boardAccess[$key]); - } + if (isset($data->boardAccess) && + !in_array($data->default_board_id, $data->boardAccess)) { + $data->boardAccess[] = $data->default_board_id; } } } diff --git a/test/api/controllers/BoardsTest.php b/test/api/controllers/BoardsTest.php index 5b2c3ee..6a5329c 100644 --- a/test/api/controllers/BoardsTest.php +++ b/test/api/controllers/BoardsTest.php @@ -109,9 +109,6 @@ class BoardsTest extends PHPUnit_Framework_TestCase { $actual->alerts[0]['text']); } - /** - * @group travis-exclude - */ public function testAddBoard() { $data = $this->getBoardData(); @@ -214,6 +211,7 @@ class BoardsTest extends PHPUnit_Framework_TestCase { $board = $this->getBoardData(); $board->id = 3; unset($board->categories[0]->board_id); + unset($board->issue_trackers[0]->board_id); $args = []; $args['id'] = $board->id; diff --git a/test/api/controllers/UsersTest.php b/test/api/controllers/UsersTest.php index 1ac3bfb..6a71d12 100644 --- a/test/api/controllers/UsersTest.php +++ b/test/api/controllers/UsersTest.php @@ -182,6 +182,25 @@ class UsersTest extends PHPUnit_Framework_TestCase { $this->assertEquals('success', $response->status); } + public function testUpdateUserRemoveDefaultBoard() { + $this->createUser(); + + $user = $this->getUserData(); + $user->id = 2; + $user->boardAccess = [1]; + + $args = []; + $args['id'] = $user->id; + + $request = new RequestMock(); + $request->payload = $user; + $request->header = [DataMock::GetJwt()]; + + $response = $this->users->updateUser($request, + new ResponseMock(), $args); + $this->assertEquals('success', $response->status); + } + public function testUpdateUserPassword() { $this->createUser(); @@ -467,6 +486,7 @@ class UsersTest extends PHPUnit_Framework_TestCase { $user = R::dispense('user'); $user->security_level = SecurityLevel::USER; $user->username = 'tester'; + $user->default_board_id = 1; $user->password_hash = password_hash('test', PASSWORD_BCRYPT); $user->user_option_id = $opts->id;