|
|
|
@ -22,6 +22,7 @@ |
|
|
|
|
|
|
|
|
|
namespace OCA\DAV\Tests\Unit\DAV; |
|
|
|
|
|
|
|
|
|
use OCA\DAV\CalDAV\BirthdayService; |
|
|
|
|
use OCA\DAV\CalDAV\CalDavBackend; |
|
|
|
|
use OCA\DAV\CardDAV\CardDavBackend; |
|
|
|
|
use OCA\DAV\CardDAV\SyncService; |
|
|
|
@ -68,4 +69,84 @@ class HookManagerTest extends TestCase { |
|
|
|
|
$hm = new HookManager($userManager, $syncService, $cal, $card); |
|
|
|
|
$hm->postLogin(['uid' => 'newUser']); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function testWithExisting() { |
|
|
|
|
$user = $this->getMockBuilder('\OCP\IUser') |
|
|
|
|
->disableOriginalConstructor() |
|
|
|
|
->getMock(); |
|
|
|
|
$user->expects($this->once())->method('getUID')->willReturn('newUser'); |
|
|
|
|
|
|
|
|
|
/** @var IUserManager | \PHPUnit_Framework_MockObject_MockObject $userManager */ |
|
|
|
|
$userManager = $this->getMockBuilder('\OCP\IUserManager') |
|
|
|
|
->disableOriginalConstructor() |
|
|
|
|
->getMock(); |
|
|
|
|
$userManager->expects($this->once())->method('get')->willReturn($user); |
|
|
|
|
|
|
|
|
|
/** @var SyncService | \PHPUnit_Framework_MockObject_MockObject $syncService */ |
|
|
|
|
$syncService = $this->getMockBuilder('OCA\DAV\CardDAV\SyncService') |
|
|
|
|
->disableOriginalConstructor() |
|
|
|
|
->getMock(); |
|
|
|
|
|
|
|
|
|
/** @var CalDavBackend | \PHPUnit_Framework_MockObject_MockObject $cal */ |
|
|
|
|
$cal = $this->getMockBuilder('OCA\DAV\CalDAV\CalDavBackend') |
|
|
|
|
->disableOriginalConstructor() |
|
|
|
|
->getMock(); |
|
|
|
|
$cal->expects($this->once())->method('getCalendarsForUser')->willReturn([ |
|
|
|
|
['uri' => 'my-events'] |
|
|
|
|
]); |
|
|
|
|
$cal->expects($this->never())->method('createCalendar'); |
|
|
|
|
|
|
|
|
|
/** @var CardDavBackend | \PHPUnit_Framework_MockObject_MockObject $card */ |
|
|
|
|
$card = $this->getMockBuilder('OCA\DAV\CardDAV\CardDavBackend') |
|
|
|
|
->disableOriginalConstructor() |
|
|
|
|
->getMock(); |
|
|
|
|
$card->expects($this->once())->method('getAddressBooksForUser')->willReturn([ |
|
|
|
|
['uri' => 'my-contacts'] |
|
|
|
|
]); |
|
|
|
|
$card->expects($this->never())->method('createAddressBook'); |
|
|
|
|
|
|
|
|
|
$hm = new HookManager($userManager, $syncService, $cal, $card); |
|
|
|
|
$hm->postLogin(['uid' => 'newUser']); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function testWithBirthdayCalendar() { |
|
|
|
|
$user = $this->getMockBuilder('\OCP\IUser') |
|
|
|
|
->disableOriginalConstructor() |
|
|
|
|
->getMock(); |
|
|
|
|
$user->expects($this->once())->method('getUID')->willReturn('newUser'); |
|
|
|
|
|
|
|
|
|
/** @var IUserManager | \PHPUnit_Framework_MockObject_MockObject $userManager */ |
|
|
|
|
$userManager = $this->getMockBuilder('\OCP\IUserManager') |
|
|
|
|
->disableOriginalConstructor() |
|
|
|
|
->getMock(); |
|
|
|
|
$userManager->expects($this->once())->method('get')->willReturn($user); |
|
|
|
|
|
|
|
|
|
/** @var SyncService | \PHPUnit_Framework_MockObject_MockObject $syncService */ |
|
|
|
|
$syncService = $this->getMockBuilder('OCA\DAV\CardDAV\SyncService') |
|
|
|
|
->disableOriginalConstructor() |
|
|
|
|
->getMock(); |
|
|
|
|
|
|
|
|
|
/** @var CalDavBackend | \PHPUnit_Framework_MockObject_MockObject $cal */ |
|
|
|
|
$cal = $this->getMockBuilder('OCA\DAV\CalDAV\CalDavBackend') |
|
|
|
|
->disableOriginalConstructor() |
|
|
|
|
->getMock(); |
|
|
|
|
$cal->expects($this->once())->method('getCalendarsForUser')->willReturn([ |
|
|
|
|
['uri' => BirthdayService::BIRTHDAY_CALENDAR_URI] |
|
|
|
|
]); |
|
|
|
|
$cal->expects($this->once())->method('createCalendar')->with( |
|
|
|
|
'principals/users/newUser', |
|
|
|
|
'personal', ['{DAV:}displayname' => 'Personal']); |
|
|
|
|
|
|
|
|
|
/** @var CardDavBackend | \PHPUnit_Framework_MockObject_MockObject $card */ |
|
|
|
|
$card = $this->getMockBuilder('OCA\DAV\CardDAV\CardDavBackend') |
|
|
|
|
->disableOriginalConstructor() |
|
|
|
|
->getMock(); |
|
|
|
|
$card->expects($this->once())->method('getAddressBooksForUser')->willReturn([]); |
|
|
|
|
$card->expects($this->once())->method('createAddressBook')->with( |
|
|
|
|
'principals/users/newUser', |
|
|
|
|
'contacts', ['{DAV:}displayname' => 'Contacts']); |
|
|
|
|
|
|
|
|
|
$hm = new HookManager($userManager, $syncService, $cal, $card); |
|
|
|
|
$hm->postLogin(['uid' => 'newUser']); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|