Browse Source
feat(dashboard): wish happy birthday
feat(dashboard): wish happy birthday
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>pull/49730/head
No known key found for this signature in database
GPG Key ID: 4A81C29F63464E8F
6 changed files with 142 additions and 4 deletions
-
1apps/dashboard/lib/Controller/DashboardController.php
-
26apps/dashboard/lib/Service/DashboardService.php
-
13apps/dashboard/src/DashboardApp.vue
-
100apps/dashboard/tests/DashboardServiceTest.php
-
4dist/dashboard-main.js
-
2dist/dashboard-main.js.map
@ -0,0 +1,100 @@ |
|||
<?php |
|||
|
|||
declare(strict_types=1); |
|||
|
|||
/** |
|||
* SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors |
|||
* SPDX-License-Identifier: AGPL-3.0-or-later |
|||
*/ |
|||
|
|||
namespace OCA\Dashboard\Tests; |
|||
|
|||
use OC\Accounts\Account; |
|||
use OCA\Dashboard\Service\DashboardService; |
|||
use OCP\Accounts\IAccountManager; |
|||
use OCP\IConfig; |
|||
use OCP\IUser; |
|||
use OCP\IUserManager; |
|||
use PHPUnit\Framework\MockObject\MockObject; |
|||
use Test\TestCase; |
|||
|
|||
class DashboardServiceTest extends TestCase { |
|||
|
|||
private IConfig&MockObject $config; |
|||
private IUserManager&MockObject $userManager; |
|||
private IAccountManager&MockObject $accountManager; |
|||
private DashboardService $service; |
|||
|
|||
protected function setUp(): void { |
|||
parent::setUp(); |
|||
|
|||
$this->config = $this->createMock(IConfig::class); |
|||
$this->userManager = $this->createMock(IUserManager::class); |
|||
$this->accountManager = $this->createMock(IAccountManager::class); |
|||
|
|||
$this->service = new DashboardService( |
|||
$this->config, |
|||
'alice', |
|||
$this->userManager, |
|||
$this->accountManager, |
|||
); |
|||
} |
|||
|
|||
public function testGetBirthdate() { |
|||
$user = $this->createMock(IUser::class); |
|||
$this->userManager->method('get') |
|||
->willReturn($user); |
|||
|
|||
$account = new Account($user); |
|||
$account->setProperty( |
|||
IAccountManager::PROPERTY_BIRTHDATE, |
|||
'2024-12-10T00:00:00.000Z', |
|||
IAccountManager::SCOPE_LOCAL, |
|||
IAccountManager::VERIFIED, |
|||
); |
|||
|
|||
$this->accountManager->method('getAccount') |
|||
->willReturn($account); |
|||
|
|||
$birthdate = $this->service->getBirthdate(); |
|||
|
|||
$this->assertEquals('2024-12-10T00:00:00.000Z', $birthdate); |
|||
} |
|||
|
|||
public function testGetBirthdatePropertyDoesNotExist() { |
|||
$user = $this->createMock(IUser::class); |
|||
$this->userManager->method('get') |
|||
->willReturn($user); |
|||
|
|||
$account = new Account($user); |
|||
$this->accountManager->method('getAccount') |
|||
->willReturn($account); |
|||
|
|||
$birthdate = $this->service->getBirthdate(); |
|||
|
|||
$this->assertEquals('', $birthdate); |
|||
} |
|||
|
|||
public function testGetBirthdateUserNotFound() { |
|||
$this->userManager->method('get') |
|||
->willReturn(null); |
|||
|
|||
$birthdate = $this->service->getBirthdate(); |
|||
|
|||
$this->assertEquals('', $birthdate); |
|||
} |
|||
|
|||
public function testGetBirthdateNoUserId() { |
|||
$service = new DashboardService( |
|||
$this->config, |
|||
null, |
|||
$this->userManager, |
|||
$this->accountManager, |
|||
); |
|||
|
|||
$birthdate = $service->getBirthdate(); |
|||
|
|||
$this->assertEquals('', $birthdate); |
|||
} |
|||
|
|||
} |
|||
4
dist/dashboard-main.js
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
2
dist/dashboard-main.js.map
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
Write
Preview
Loading…
Cancel
Save
Reference in new issue