Update API tests to 100% coverage

This commit is contained in:
kiswa 2017-01-27 00:46:47 +00:00
parent eea4748da7
commit 7cc1e95450
3 changed files with 28 additions and 17 deletions

View File

@ -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;
}
}
}

View File

@ -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;

View File

@ -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;