|
|
|
|
@ -28,6 +28,7 @@ use OC\Contacts\ContactsMenu\Providers\EMailProvider; |
|
|
|
|
use OCP\Contacts\ContactsMenu\IActionFactory; |
|
|
|
|
use OCP\Contacts\ContactsMenu\IEntry; |
|
|
|
|
use OCP\Contacts\ContactsMenu\ILinkAction; |
|
|
|
|
use OCP\IURLGenerator; |
|
|
|
|
use PHPUnit_Framework_MockObject_MockObject; |
|
|
|
|
use Test\TestCase; |
|
|
|
|
|
|
|
|
|
@ -36,6 +37,9 @@ class EMailproviderTest extends TestCase { |
|
|
|
|
/** @var IActionFactory|PHPUnit_Framework_MockObject_MockObject */ |
|
|
|
|
private $actionFactory; |
|
|
|
|
|
|
|
|
|
/** @var IURLGenerator|PHPUnit_Framework_MockObject_MockObject */ |
|
|
|
|
private $urlGenerator; |
|
|
|
|
|
|
|
|
|
/** @var EMailProvider */ |
|
|
|
|
private $provider; |
|
|
|
|
|
|
|
|
|
@ -43,13 +47,22 @@ class EMailproviderTest extends TestCase { |
|
|
|
|
parent::setUp(); |
|
|
|
|
|
|
|
|
|
$this->actionFactory = $this->createMock(IActionFactory::class); |
|
|
|
|
$this->provider = new EMailProvider($this->actionFactory); |
|
|
|
|
$this->urlGenerator = $this->createMock(IURLGenerator::class); |
|
|
|
|
|
|
|
|
|
$this->provider = new EMailProvider($this->actionFactory, $this->urlGenerator); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function testProcess() { |
|
|
|
|
$entry = $this->createMock(IEntry::class); |
|
|
|
|
$action = $this->createMock(ILinkAction::class); |
|
|
|
|
|
|
|
|
|
$iconUrl = 'https://example.com/img/actions/icon.svg'; |
|
|
|
|
$this->urlGenerator->expects($this->once()) |
|
|
|
|
->method('imagePath') |
|
|
|
|
->willReturn('img/actions/icon.svg'); |
|
|
|
|
$this->urlGenerator->expects($this->once()) |
|
|
|
|
->method('getAbsoluteURL') |
|
|
|
|
->with('img/actions/icon.svg') |
|
|
|
|
->willReturn($iconUrl); |
|
|
|
|
$entry->expects($this->once()) |
|
|
|
|
->method('getEMailAddresses') |
|
|
|
|
->willReturn([ |
|
|
|
|
@ -57,7 +70,7 @@ class EMailproviderTest extends TestCase { |
|
|
|
|
]); |
|
|
|
|
$this->actionFactory->expects($this->once()) |
|
|
|
|
->method('newEMailAction') |
|
|
|
|
->with($this->equalTo('icon-mail'), $this->equalTo('Mail'), $this->equalTo('user@example.com')) |
|
|
|
|
->with($this->equalTo($iconUrl), $this->equalTo('user@example.com'), $this->equalTo('user@example.com')) |
|
|
|
|
->willReturn($action); |
|
|
|
|
$entry->expects($this->once()) |
|
|
|
|
->method('addAction') |
|
|
|
|
|