fix: Centralize usage of CardDetails
Signed-off-by: Julius Härtl <jus@bitgrid.net>
This commit is contained in:
@@ -39,6 +39,7 @@ use OCA\Deck\Db\StackMapper;
|
|||||||
use OCA\Deck\Event\CardCreatedEvent;
|
use OCA\Deck\Event\CardCreatedEvent;
|
||||||
use OCA\Deck\Event\CardDeletedEvent;
|
use OCA\Deck\Event\CardDeletedEvent;
|
||||||
use OCA\Deck\Event\CardUpdatedEvent;
|
use OCA\Deck\Event\CardUpdatedEvent;
|
||||||
|
use OCA\Deck\Model\CardDetails;
|
||||||
use OCA\Deck\NoPermissionException;
|
use OCA\Deck\NoPermissionException;
|
||||||
use OCA\Deck\Notification\NotificationHelper;
|
use OCA\Deck\Notification\NotificationHelper;
|
||||||
use OCA\Deck\Db\BoardMapper;
|
use OCA\Deck\Db\BoardMapper;
|
||||||
@@ -155,7 +156,12 @@ class CardService {
|
|||||||
$card->setAssignedUsers($cardAssignedUsers);
|
$card->setAssignedUsers($cardAssignedUsers);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $cards;
|
return array_map(
|
||||||
|
function (Card $card): CardDetails {
|
||||||
|
return new CardDetails($card);
|
||||||
|
},
|
||||||
|
$cards
|
||||||
|
);
|
||||||
}
|
}
|
||||||
public function fetchDeleted($boardId) {
|
public function fetchDeleted($boardId) {
|
||||||
$this->cardServiceValidator->check(compact('boardId'));
|
$this->cardServiceValidator->check(compact('boardId'));
|
||||||
|
|||||||
@@ -99,15 +99,7 @@ class StackService {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->cardService->enrichCards($cards);
|
$stack->setCards($this->cardService->enrichCards($cards));
|
||||||
$cards = array_map(
|
|
||||||
function (Card $card): CardDetails {
|
|
||||||
return new CardDetails($card);
|
|
||||||
},
|
|
||||||
$cards
|
|
||||||
);
|
|
||||||
|
|
||||||
$stack->setCards($cards);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private function enrichStacksWithCards($stacks, $since = -1) {
|
private function enrichStacksWithCards($stacks, $since = -1) {
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ use OCA\Deck\Db\Stack;
|
|||||||
use OCA\Deck\Db\StackMapper;
|
use OCA\Deck\Db\StackMapper;
|
||||||
use OCA\Deck\Db\BoardMapper;
|
use OCA\Deck\Db\BoardMapper;
|
||||||
use OCA\Deck\Db\LabelMapper;
|
use OCA\Deck\Db\LabelMapper;
|
||||||
|
use OCA\Deck\Model\CardDetails;
|
||||||
use OCA\Deck\Notification\NotificationHelper;
|
use OCA\Deck\Notification\NotificationHelper;
|
||||||
use OCA\Deck\StatusException;
|
use OCA\Deck\StatusException;
|
||||||
use OCA\Deck\Validators\CardServiceValidator;
|
use OCA\Deck\Validators\CardServiceValidator;
|
||||||
@@ -188,7 +189,10 @@ class CardServiceTest extends TestCase {
|
|||||||
$cardExpected->setRelatedBoard($boardMock);
|
$cardExpected->setRelatedBoard($boardMock);
|
||||||
$cardExpected->setRelatedStack($stackMock);
|
$cardExpected->setRelatedStack($stackMock);
|
||||||
$cardExpected->setLabels([]);
|
$cardExpected->setLabels([]);
|
||||||
$this->assertEquals($cardExpected, $this->cardService->find(123));
|
$expected = new CardDetails($cardExpected);
|
||||||
|
|
||||||
|
$actual = $this->cardService->find(123);
|
||||||
|
$this->assertEquals($expected->jsonSerialize(), $actual->jsonSerialize());
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testCreate() {
|
public function testCreate() {
|
||||||
|
|||||||
@@ -76,7 +76,7 @@ class TrelloJsonServiceTest extends \Test\TestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function testValidateUsersWithNotStringNextcloud() {
|
public function testValidateUsersWithNotStringNextcloud() {
|
||||||
$this->expectErrorMessage('User on setting uidRelation is invalid');
|
$this->expectExceptionMessage('User on setting uidRelation is invalid');
|
||||||
$importService = $this->createMock(BoardImportService::class);
|
$importService = $this->createMock(BoardImportService::class);
|
||||||
$importService
|
$importService
|
||||||
->method('getConfig')
|
->method('getConfig')
|
||||||
@@ -92,7 +92,7 @@ class TrelloJsonServiceTest extends \Test\TestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function testValidateUsersWithNotFoundUser() {
|
public function testValidateUsersWithNotFoundUser() {
|
||||||
$this->expectErrorMessage('User on setting uidRelation not found: nextcloud_user');
|
$this->expectExceptionMessage('User on setting uidRelation not found: nextcloud_user');
|
||||||
$importService = $this->createMock(BoardImportService::class);
|
$importService = $this->createMock(BoardImportService::class);
|
||||||
$importService
|
$importService
|
||||||
->method('getConfig')
|
->method('getConfig')
|
||||||
@@ -124,7 +124,7 @@ class TrelloJsonServiceTest extends \Test\TestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function testGetBoardWithNoName() {
|
public function testGetBoardWithNoName() {
|
||||||
$this->expectErrorMessage('Invalid name of board');
|
$this->expectExceptionMessage('Invalid name of board');
|
||||||
$importService = $this->createMock(BoardImportService::class);
|
$importService = $this->createMock(BoardImportService::class);
|
||||||
$this->service->setImportService($importService);
|
$this->service->setImportService($importService);
|
||||||
$this->service->getBoard();
|
$this->service->getBoard();
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ use OCA\Deck\Db\Label;
|
|||||||
use OCA\Deck\Db\LabelMapper;
|
use OCA\Deck\Db\LabelMapper;
|
||||||
use OCA\Deck\Db\Stack;
|
use OCA\Deck\Db\Stack;
|
||||||
use OCA\Deck\Db\StackMapper;
|
use OCA\Deck\Db\StackMapper;
|
||||||
|
use OCA\Deck\Model\CardDetails;
|
||||||
use OCA\Deck\Validators\StackServiceValidator;
|
use OCA\Deck\Validators\StackServiceValidator;
|
||||||
use OCP\EventDispatcher\IEventDispatcher;
|
use OCP\EventDispatcher\IEventDispatcher;
|
||||||
use Psr\Log\LoggerInterface;
|
use Psr\Log\LoggerInterface;
|
||||||
@@ -121,6 +122,9 @@ class StackServiceTest extends TestCase {
|
|||||||
foreach ($cards as $card) {
|
foreach ($cards as $card) {
|
||||||
$card->setLabels($this->getLabels()[$card->getId()]);
|
$card->setLabels($this->getLabels()[$card->getId()]);
|
||||||
}
|
}
|
||||||
|
return array_map(function ($card) {
|
||||||
|
return new CardDetails($card);
|
||||||
|
}, $cards);
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user