From 1177d08e0dbc21201ddeab67f116e9e049815870 Mon Sep 17 00:00:00 2001 From: Julius Knorr Date: Fri, 17 Jan 2025 10:59:25 +0100 Subject: [PATCH] tests: Fix url generation mocks and cleanup some phpunit code Signed-off-by: Julius Knorr --- tests/unit/Activity/ActivityManagerTest.php | 4 +-- tests/unit/Activity/DeckProviderTest.php | 10 +++---- tests/unit/Db/CardTest.php | 2 +- .../Middleware/ExceptionMiddlewareTest.php | 2 +- tests/unit/Notification/NotifierTest.php | 28 +++++++++++-------- .../Reference/CardReferenceProviderTest.php | 2 +- tests/unit/Search/FilterStringParserTest.php | 2 +- .../unit/Search/Query/AQueryParameterTest.php | 2 +- tests/unit/Service/BoardServiceTest.php | 2 +- tests/unit/Service/CardServiceTest.php | 2 +- tests/unit/Service/PermissionServiceTest.php | 4 +-- 11 files changed, 33 insertions(+), 27 deletions(-) diff --git a/tests/unit/Activity/ActivityManagerTest.php b/tests/unit/Activity/ActivityManagerTest.php index bce21ebd7..c1036c3d7 100644 --- a/tests/unit/Activity/ActivityManagerTest.php +++ b/tests/unit/Activity/ActivityManagerTest.php @@ -284,7 +284,7 @@ public function testCreateEventLabel() { $this->assertEquals($event, $actual); } - public function dataSendToUsers() { + public static function dataSendToUsers() { return [ [ActivityManager::DECK_OBJECT_BOARD], [ActivityManager::DECK_OBJECT_CARD], @@ -344,7 +344,7 @@ public function testSendToUser($objectType) { $this->invokePrivate($this->activityManager, 'sendToUsers', [$event]); } - public function dataFindObjectForEntity() { + public static function dataFindObjectForEntity() { $board = new Board(); $board->setId(1); $stack = new Stack(); diff --git a/tests/unit/Activity/DeckProviderTest.php b/tests/unit/Activity/DeckProviderTest.php index a371d86da..c82520087 100644 --- a/tests/unit/Activity/DeckProviderTest.php +++ b/tests/unit/Activity/DeckProviderTest.php @@ -123,7 +123,7 @@ public function testParseFailureApp() { $this->provider->parse('en_US', $event, $event); } - public function dataEventIcons() { + public static function dataEventIcons() { return [ [ActivityManager::SUBJECT_LABEL_ASSIGN, 'core', 'actions/tag.svg'], [ActivityManager::SUBJECT_CARD_CREATE, 'files', 'add-color.svg'], @@ -166,7 +166,7 @@ public function testDeckUrl() { ->with('deck.page.index') ->willReturn('http://localhost/index.php/apps/deck/'); $this->assertEquals( - 'http://localhost/index.php/apps/deck/#board/1/card/1', + 'http://localhost/index.php/apps/deck/board/1/card/1', $this->provider->deckUrl('board/1/card/1') ); } @@ -202,7 +202,7 @@ public function testParseObjectTypeBoard() { 'type' => 'highlight', 'id' => 1, 'name' => 'Board', - 'link' => '#/board/1', + 'link' => 'board/1', ], 'user' => [ 'type' => 'user', @@ -319,9 +319,9 @@ public function testParseParamForBoard() { $expected = [ 'board' => [ 'type' => 'highlight', - 'id' => 1, + 'id' => '1', 'name' => 'Board name', - 'link' => '#/board/1/', + 'link' => 'board/1', ], ]; $actual = $this->invokePrivate($this->provider, 'parseParamForBoard', ['board', $subjectParams, $params]); diff --git a/tests/unit/Db/CardTest.php b/tests/unit/Db/CardTest.php index f1321b063..92393e7ba 100644 --- a/tests/unit/Db/CardTest.php +++ b/tests/unit/Db/CardTest.php @@ -47,7 +47,7 @@ private function createCard() { return $card; } - public function dataDuedate() { + public static function dataDuedate() { return [ [(new DateTime()), Card::DUEDATE_NOW], [(new DateTime())->sub(new DateInterval('P1D')), Card::DUEDATE_OVERDUE], diff --git a/tests/unit/Middleware/ExceptionMiddlewareTest.php b/tests/unit/Middleware/ExceptionMiddlewareTest.php index a04d1c345..a076061a2 100644 --- a/tests/unit/Middleware/ExceptionMiddlewareTest.php +++ b/tests/unit/Middleware/ExceptionMiddlewareTest.php @@ -58,7 +58,7 @@ public function setUp(): void { } - public function dataAfterException() { + public static function dataAfterException() { return [ [new NoPermissionException('No permission'), 403, 'No permission'], [new NotFoundException('Not found'), 404, 'Not found'] diff --git a/tests/unit/Notification/NotifierTest.php b/tests/unit/Notification/NotifierTest.php index e9fb9a501..491f78d6e 100644 --- a/tests/unit/Notification/NotifierTest.php +++ b/tests/unit/Notification/NotifierTest.php @@ -76,6 +76,15 @@ public function setUp(): void { $this->l10nFactory->expects($this->once()) ->method('get') ->willReturn($this->l10n); + + $this->url->expects($this->any()) + ->method('linkToRouteAbsolute') + ->willReturnCallback(function ($route) { + return match ($route) { + 'deck.page.indexBoard' => '/board/123', + 'deck.page.indexCard' => '/board/123/card/234', + }; + }); } public function testPrepareWrongApp() { @@ -178,7 +187,7 @@ public function testPrepareCardCommentMentioned() { $this->assertEquals($notification, $actualNotification); } - public function dataPrepareCardAssigned() { + public static function dataPrepareCardAssigned() { return [ [true], [false] ]; @@ -239,13 +248,13 @@ public function testPrepareCardAssigned($withUserFound = true) { 'name' => 'Card title', 'boardname' => 'Board title', 'stackname' => null, - 'link' => '#/board/123/card/123', + 'link' => '/board/123/card/234', ], 'deck-board' => [ 'type' => 'deck-board', 'id' => 123, 'name' => 'Board title', - 'link' => '#/board/123', + 'link' => '/board/123', ] ]); @@ -266,7 +275,7 @@ public function testPrepareCardAssigned($withUserFound = true) { $this->assertEquals($notification, $actualNotification); } - public function dataPrepareBoardShared() { + public static function dataPrepareBoardShared() { return [ [true], [false] ]; @@ -321,7 +330,7 @@ public function testPrepareBoardShared($withUserFound = true) { 'type' => 'deck-board', 'id' => 123, 'name' => 'Board title', - 'link' => '#/board/123', + 'link' => '/board/123', ] ]); @@ -347,11 +356,8 @@ public function testPrepareBoardShared($withUserFound = true) { * @return Stack|MockObject */ private function buildMockStack(int $boardId = 999) { - $mockStack = $this->getMockBuilder(Stack::class) - ->addMethods(['getBoardId']) - ->getMock(); - - $mockStack->method('getBoardId')->willReturn($boardId); - return $mockStack; + $stack = new Stack(); + $stack->setBoardId($boardId); + return $stack; } } diff --git a/tests/unit/Reference/CardReferenceProviderTest.php b/tests/unit/Reference/CardReferenceProviderTest.php index 9fbfb2966..603ce50cd 100644 --- a/tests/unit/Reference/CardReferenceProviderTest.php +++ b/tests/unit/Reference/CardReferenceProviderTest.php @@ -42,7 +42,7 @@ class CardReferenceProviderTest extends TestCase { private $l10n; private $userId; private $provider; - + public function setUp() : void { parent::setUp(); diff --git a/tests/unit/Search/FilterStringParserTest.php b/tests/unit/Search/FilterStringParserTest.php index 8629f32a1..68eb6b60a 100644 --- a/tests/unit/Search/FilterStringParserTest.php +++ b/tests/unit/Search/FilterStringParserTest.php @@ -102,7 +102,7 @@ public function testParseTextTokenQuotesWrong() { Assert::assertEquals($expected, $result); } - public function dataParseDate() { + public static function dataParseDate() { return [ ['date:today', [new DateQueryParameter('date', SearchQuery::COMPARATOR_EQUAL, 'today')], []], ['date:>today', [new DateQueryParameter('date', SearchQuery::COMPARATOR_MORE, 'today')], []], diff --git a/tests/unit/Search/Query/AQueryParameterTest.php b/tests/unit/Search/Query/AQueryParameterTest.php index f86ab649b..57576058e 100644 --- a/tests/unit/Search/Query/AQueryParameterTest.php +++ b/tests/unit/Search/Query/AQueryParameterTest.php @@ -29,7 +29,7 @@ use PHPUnit\Framework\TestCase; class AQueryParameterTest extends TestCase { - public function dataValue() { + public static function dataValue() { return [ ['foo', 'foo'], ['spätial character', 'spätial character'], diff --git a/tests/unit/Service/BoardServiceTest.php b/tests/unit/Service/BoardServiceTest.php index d8bec0096..a525714e5 100644 --- a/tests/unit/Service/BoardServiceTest.php +++ b/tests/unit/Service/BoardServiceTest.php @@ -291,7 +291,7 @@ public function testAddAcl() { )); } - public function dataAddAclExtendPermission() { + public static function dataAddAclExtendPermission() { return [ [[false, false, false], [false, false, false], [false, false, false]], [[false, false, false], [true, true, true], [false, false, false]], diff --git a/tests/unit/Service/CardServiceTest.php b/tests/unit/Service/CardServiceTest.php index e68775f2f..f7e8b3a99 100644 --- a/tests/unit/Service/CardServiceTest.php +++ b/tests/unit/Service/CardServiceTest.php @@ -365,7 +365,7 @@ public function testRenameArchived() { $this->cardService->rename(123, 'newtitle'); } - public function dataReorder() { + public static function dataReorder() { return [ [0, 0, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]], [0, 9, [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]], diff --git a/tests/unit/Service/PermissionServiceTest.php b/tests/unit/Service/PermissionServiceTest.php index b9dfe8560..a25a325d5 100644 --- a/tests/unit/Service/PermissionServiceTest.php +++ b/tests/unit/Service/PermissionServiceTest.php @@ -151,7 +151,7 @@ public function testUserIsBoardOwnerNull() { $this->assertEquals(false, $this->service->userIsBoardOwner(123)); } - public function dataTestUserCan() { + public static function dataTestUserCan() { return [ // participant permissions type ['admin', false, false, false, 'user', true, false, false, false], @@ -183,7 +183,7 @@ public function testUserCanFail() { $this->assertFalse($this->service->userCan([], Acl::PERMISSION_EDIT)); } - public function dataCheckPermission() { + public static function dataCheckPermission() { return [ // see getAcls() for set permissions [1, Acl::PERMISSION_READ, true],