Fix unit tests of the ActionProviderStore

Signed-off-by: Joas Schilling <coding@schilljs.com>
pull/35979/head
Joas Schilling 3 years ago
parent 8eca26012f
commit 97e33c2bd4
No known key found for this signature in database
GPG Key ID: 74434EFE0D2E2205
  1. 31
      tests/lib/Contacts/ContactsMenu/ActionProviderStoreTest.php

@ -27,6 +27,7 @@ namespace Tests\Contacts\ContactsMenu;
use OC\App\AppManager;
use OC\Contacts\ContactsMenu\ActionProviderStore;
use OC\Contacts\ContactsMenu\Providers\EMailProvider;
use OC\Contacts\ContactsMenu\Providers\LocalTimeProvider;
use OC\Contacts\ContactsMenu\Providers\ProfileProvider;
use OCP\App\IAppManager;
use OCP\AppFramework\QueryException;
@ -60,8 +61,9 @@ class ActionProviderStoreTest extends TestCase {
public function testGetProviders() {
$user = $this->createMock(IUser::class);
$provider1 = $this->createMock(ProfileProvider::class);
$provider2 = $this->createMock(EMailProvider::class);
$provider3 = $this->createMock(IProvider::class);
$provider2 = $this->createMock(LocalTimeProvider::class);
$provider3 = $this->createMock(EMailProvider::class);
$provider4 = $this->createMock(IProvider::class);
$this->appManager->expects($this->once())
->method('getEnabledAppsForUser')
@ -75,25 +77,28 @@ class ActionProviderStoreTest extends TestCase {
'OCA\Contacts\Provider1',
],
]);
$this->serverContainer->expects($this->exactly(3))
$this->serverContainer->expects($this->exactly(4))
->method('get')
->willReturnMap([
[ProfileProvider::class, $provider1],
[EMailProvider::class, $provider2],
['OCA\Contacts\Provider1', $provider3]
[LocalTimeProvider::class, $provider2],
[EMailProvider::class, $provider3],
['OCA\Contacts\Provider1', $provider4]
]);
$providers = $this->actionProviderStore->getProviders($user);
$this->assertCount(3, $providers);
$this->assertCount(4, $providers);
$this->assertInstanceOf(ProfileProvider::class, $providers[0]);
$this->assertInstanceOf(EMailProvider::class, $providers[1]);
$this->assertInstanceOf(LocalTimeProvider::class, $providers[1]);
$this->assertInstanceOf(EMailProvider::class, $providers[2]);
}
public function testGetProvidersOfAppWithIncompleInfo() {
$user = $this->createMock(IUser::class);
$provider1 = $this->createMock(ProfileProvider::class);
$provider2 = $this->createMock(EMailProvider::class);
$provider2 = $this->createMock(LocalTimeProvider::class);
$provider3 = $this->createMock(EMailProvider::class);
$this->appManager->expects($this->once())
->method('getEnabledAppsForUser')
@ -103,18 +108,20 @@ class ActionProviderStoreTest extends TestCase {
->method('getAppInfo')
->with('contacts')
->willReturn([/* Empty info.xml */]);
$this->serverContainer->expects($this->exactly(2))
$this->serverContainer->expects($this->exactly(3))
->method('get')
->willReturnMap([
[ProfileProvider::class, $provider1],
[EMailProvider::class, $provider2],
[LocalTimeProvider::class, $provider2],
[EMailProvider::class, $provider3],
]);
$providers = $this->actionProviderStore->getProviders($user);
$this->assertCount(2, $providers);
$this->assertCount(3, $providers);
$this->assertInstanceOf(ProfileProvider::class, $providers[0]);
$this->assertInstanceOf(EMailProvider::class, $providers[1]);
$this->assertInstanceOf(LocalTimeProvider::class, $providers[1]);
$this->assertInstanceOf(EMailProvider::class, $providers[2]);
}

Loading…
Cancel
Save