Testing BoardMapper
This commit is contained in:
@@ -57,15 +57,6 @@ class StackController extends Controller {
|
|||||||
return $this->stackService->findAllArchived($boardId);
|
return $this->stackService->findAllArchived($boardId);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @NoAdminRequired
|
|
||||||
* @param $boardId
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public function read($boardId) {
|
|
||||||
return $this->stackService->find($this->userId, $boardId);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @NoAdminRequired
|
* @NoAdminRequired
|
||||||
* @param $title
|
* @param $title
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ class Board extends Entity implements JsonSerializable {
|
|||||||
protected $title;
|
protected $title;
|
||||||
protected $owner;
|
protected $owner;
|
||||||
protected $color;
|
protected $color;
|
||||||
protected $archived;
|
protected $archived = false;
|
||||||
protected $labels;
|
protected $labels;
|
||||||
protected $acl;
|
protected $acl;
|
||||||
protected $shared;
|
protected $shared;
|
||||||
@@ -39,6 +39,7 @@ class Board extends Entity implements JsonSerializable {
|
|||||||
public function __construct() {
|
public function __construct() {
|
||||||
$this->addType('id','integer');
|
$this->addType('id','integer');
|
||||||
$this->addType('shared','integer');
|
$this->addType('shared','integer');
|
||||||
|
$this->addType('archived','boolean');
|
||||||
$this->addRelation('labels');
|
$this->addRelation('labels');
|
||||||
$this->addRelation('acl');
|
$this->addRelation('acl');
|
||||||
$this->addRelation('shared');
|
$this->addRelation('shared');
|
||||||
|
|||||||
122
tests/unit/Db/BoardMapperTest.php
Normal file
122
tests/unit/Db/BoardMapperTest.php
Normal file
@@ -0,0 +1,122 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @copyright Copyright (c) 2016 Julius Härtl <jus@bitgrid.net>
|
||||||
|
*
|
||||||
|
* @author Julius Härtl <jus@bitgrid.net>
|
||||||
|
*
|
||||||
|
* @license GNU AGPL version 3 or any later version
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Affero General Public License as
|
||||||
|
* published by the Free Software Foundation, either version 3 of the
|
||||||
|
* License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU Affero General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Affero General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace OCA\Deck\Db;
|
||||||
|
|
||||||
|
use Test\AppFramework\Db\MapperTestUtility;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @group DB
|
||||||
|
*/
|
||||||
|
class BoardMapperTest extends MapperTestUtility {
|
||||||
|
|
||||||
|
private $dbConnection;
|
||||||
|
private $aclMapper;
|
||||||
|
private $boardMapper;
|
||||||
|
|
||||||
|
// Data
|
||||||
|
private $acls;
|
||||||
|
private $boards;
|
||||||
|
|
||||||
|
public function setup(){
|
||||||
|
parent::setUp();
|
||||||
|
|
||||||
|
$this->dbConnection = \OC::$server->getDatabaseConnection();
|
||||||
|
$this->boardMapper = new BoardMapper(
|
||||||
|
$this->dbConnection,
|
||||||
|
\OC::$server->query(LabelMapper::class),
|
||||||
|
\OC::$server->query(AclMapper::class),
|
||||||
|
\OC::$server->query(StackMapper::class)
|
||||||
|
);
|
||||||
|
$this->aclMapper = \OC::$server->query(AclMapper::class);
|
||||||
|
$this->labelMapper = \OC::$server->query(LabelMapper::class);
|
||||||
|
|
||||||
|
$this->boards = [
|
||||||
|
$this->boardMapper->insert($this->getBoard('MyBoard 1', 'user1')),
|
||||||
|
$this->boardMapper->insert($this->getBoard('MyBoard 2', 'user2')),
|
||||||
|
$this->boardMapper->insert($this->getBoard('MyBoard 3', 'user3'))
|
||||||
|
];
|
||||||
|
$this->acls = [
|
||||||
|
$this->aclMapper->insert($this->getAcl('user','user1', false, false, false, $this->boards[1]->getId())),
|
||||||
|
$this->aclMapper->insert($this->getAcl('user','user2', true, false, false, $this->boards[0]->getId())),
|
||||||
|
$this->aclMapper->insert($this->getAcl('user','user3', true, true, false, $this->boards[0]->getId())),
|
||||||
|
$this->aclMapper->insert($this->getAcl('user','user1', false, false, false, $this->boards[2]->getId()))
|
||||||
|
];
|
||||||
|
|
||||||
|
foreach ($this->acls as $acl) {
|
||||||
|
$acl->resetUpdatedFields();
|
||||||
|
}
|
||||||
|
foreach ($this->boards as $board) {
|
||||||
|
$board->resetUpdatedFields();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/** @return Acl */
|
||||||
|
public function getAcl($type='user', $participant='admin', $write=false, $invite=false, $manage=false, $boardId=123) {
|
||||||
|
$acl = new Acl();
|
||||||
|
$acl->setParticipant($participant);
|
||||||
|
$acl->setType('user');
|
||||||
|
$acl->setPermissionWrite($write);
|
||||||
|
$acl->setPermissionInvite($invite);
|
||||||
|
$acl->setPermissionManage($manage);
|
||||||
|
$acl->setBoardId($boardId);
|
||||||
|
return $acl;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @return Board */
|
||||||
|
public function getBoard($title, $owner) {
|
||||||
|
$board = new Board();
|
||||||
|
$board->setTitle($title);
|
||||||
|
$board->setOwner($owner);
|
||||||
|
return $board;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testFind() {
|
||||||
|
$actual = $this->boardMapper->find($this->boards[0]->getId());
|
||||||
|
$expected = $this->boards[0];
|
||||||
|
$this->assertEquals($expected, $actual);
|
||||||
|
}
|
||||||
|
public function testFindWithLabels() {
|
||||||
|
$actual = $this->boardMapper->find($this->boards[0]->getId(), true, false);
|
||||||
|
$expected = $this->boards[0];
|
||||||
|
$this->assertEquals($expected, $actual);
|
||||||
|
}
|
||||||
|
public function testFindWithAcl() {
|
||||||
|
$actual = $this->boardMapper->find($this->boards[0]->getId(), false, true);
|
||||||
|
$expected = [
|
||||||
|
$this->acls[1]->getId() => $this->acls[1],
|
||||||
|
$this->acls[2]->getId() => $this->acls[2]
|
||||||
|
];
|
||||||
|
$this->assertEquals($expected, $actual->getAcl());
|
||||||
|
}
|
||||||
|
|
||||||
|
public function tearDown() {
|
||||||
|
parent::tearDown();
|
||||||
|
foreach ($this->acls as $acl) {
|
||||||
|
$this->aclMapper->delete($acl);
|
||||||
|
}
|
||||||
|
foreach ($this->boards as $board) {
|
||||||
|
$this->boardMapper->delete($board);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -68,10 +68,6 @@ class StackControllerTest extends \PHPUnit_Framework_TestCase {
|
|||||||
$this->controller->archived(1);
|
$this->controller->archived(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testRead() {
|
|
||||||
$this->stackService->expects($this->once())->method('find');
|
|
||||||
$this->controller->read(1);
|
|
||||||
}
|
|
||||||
public function testCreate() {
|
public function testCreate() {
|
||||||
$this->stackService->expects($this->once())
|
$this->stackService->expects($this->once())
|
||||||
->method('create')
|
->method('create')
|
||||||
|
|||||||
Reference in New Issue
Block a user