|
|
@@ -29,6 +29,7 @@ use OCA\DAV\CalDAV\CalDavBackend; |
|
|
|
use OCA\DAV\CardDAV\CardDavBackend; |
|
|
|
use OCA\DAV\DAV\GroupPrincipalBackend; |
|
|
|
use OCP\IConfig; |
|
|
|
use OCP\IDBConnection; |
|
|
|
use Sabre\VObject\Component\VCalendar; |
|
|
|
use Sabre\VObject\Reader; |
|
|
|
use Test\TestCase; |
|
|
@@ -45,6 +46,8 @@ class BirthdayServiceTest extends TestCase { |
|
|
|
private $groupPrincipalBackend; |
|
|
|
/** @var IConfig | \PHPUnit_Framework_MockObject_MockObject */ |
|
|
|
private $config; |
|
|
|
/** @var IDBConnection | \PHPUnit_Framework_MockObject_MockObject */ |
|
|
|
private $dbConnection; |
|
|
|
|
|
|
|
public function setUp() { |
|
|
|
parent::setUp(); |
|
|
@@ -53,9 +56,10 @@ class BirthdayServiceTest extends TestCase { |
|
|
|
$this->cardDav = $this->createMock(CardDavBackend::class); |
|
|
|
$this->groupPrincipalBackend = $this->createMock(GroupPrincipalBackend::class); |
|
|
|
$this->config = $this->createMock(IConfig::class); |
|
|
|
$this->dbConnection = $this->createMock(IDBConnection::class); |
|
|
|
|
|
|
|
$this->service = new BirthdayService($this->calDav, $this->cardDav, |
|
|
|
$this->groupPrincipalBackend, $this->config); |
|
|
|
$this->groupPrincipalBackend, $this->config, $this->dbConnection); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
@@ -67,8 +71,10 @@ class BirthdayServiceTest extends TestCase { |
|
|
|
* @param string $expectedOriginalYear |
|
|
|
* @param string | null $data |
|
|
|
*/ |
|
|
|
public function testBuildBirthdayFromContact($expectedSummary, $expectedDTStart, $expectedFieldType, $expectedUnknownYear, $expectedOriginalYear, $data) { |
|
|
|
$cal = $this->service->buildDateFromContact($data, 'BDAY', '', '*'); |
|
|
|
public function testBuildBirthdayFromContact($expectedSummary, $expectedDTStart, $expectedFieldType, $expectedUnknownYear, $expectedOriginalYear, $data, $supports4Bytes) { |
|
|
|
$this->dbConnection->method('supports4ByteText')->willReturn($supports4Bytes); |
|
|
|
$cal = $this->service->buildDateFromContact($data, 'BDAY', '', '*', '🎂'); |
|
|
|
|
|
|
|
if ($expectedSummary === null) { |
|
|
|
$this->assertNull($cal); |
|
|
|
} else { |
|
|
@@ -163,7 +169,7 @@ class BirthdayServiceTest extends TestCase { |
|
|
|
|
|
|
|
$service = $this->getMockBuilder(BirthdayService::class) |
|
|
|
->setMethods(['buildDateFromContact', 'birthdayEvenChanged']) |
|
|
|
->setConstructorArgs([$this->calDav, $this->cardDav, $this->groupPrincipalBackend, $this->config]) |
|
|
|
->setConstructorArgs([$this->calDav, $this->cardDav, $this->groupPrincipalBackend, $this->config, $this->dbConnection]) |
|
|
|
->getMock(); |
|
|
|
|
|
|
|
$service->onCardChanged(666, 'gump.vcf', ''); |
|
|
@@ -192,7 +198,7 @@ class BirthdayServiceTest extends TestCase { |
|
|
|
/** @var BirthdayService | \PHPUnit_Framework_MockObject_MockObject $service */ |
|
|
|
$service = $this->getMockBuilder(BirthdayService::class) |
|
|
|
->setMethods(['buildDateFromContact', 'birthdayEvenChanged']) |
|
|
|
->setConstructorArgs([$this->calDav, $this->cardDav, $this->groupPrincipalBackend, $this->config]) |
|
|
|
->setConstructorArgs([$this->calDav, $this->cardDav, $this->groupPrincipalBackend, $this->config, $this->dbConnection]) |
|
|
|
->getMock(); |
|
|
|
|
|
|
|
$service->onCardChanged(666, 'gump.vcf', ''); |
|
|
@@ -228,7 +234,7 @@ class BirthdayServiceTest extends TestCase { |
|
|
|
/** @var BirthdayService | \PHPUnit_Framework_MockObject_MockObject $service */ |
|
|
|
$service = $this->getMockBuilder(BirthdayService::class) |
|
|
|
->setMethods(['buildDateFromContact', 'birthdayEvenChanged']) |
|
|
|
->setConstructorArgs([$this->calDav, $this->cardDav, $this->groupPrincipalBackend, $this->config]) |
|
|
|
->setConstructorArgs([$this->calDav, $this->cardDav, $this->groupPrincipalBackend, $this->config, $this->dbConnection]) |
|
|
|
->getMock(); |
|
|
|
|
|
|
|
if ($expectedOp === 'delete') { |
|
|
@@ -350,20 +356,27 @@ class BirthdayServiceTest extends TestCase { |
|
|
|
|
|
|
|
public function providesVCards() { |
|
|
|
return [ |
|
|
|
// $expectedSummary, $expectedDTStart, $expectedFieldType, $expectedUnknownYear, $expectedOriginalYear, $data |
|
|
|
[null, null, null, null, null, null], |
|
|
|
[null, null, null, null, null, ''], |
|
|
|
[null, null, null, null, null, 'yasfewf'], |
|
|
|
[null, null, null, null, null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nEND:VCARD\r\n", "Dr. Foo Bar"], |
|
|
|
[null, null, null, null, null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:\r\nEND:VCARD\r\n", "Dr. Foo Bar"], |
|
|
|
[null, null, null, null, null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:someday\r\nEND:VCARD\r\n", "Dr. Foo Bar"], |
|
|
|
['12345 (*1900)', '19700101', 'BDAY', '0', '1900', "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:19000101\r\nEND:VCARD\r\n", "Dr. Foo Bar"], |
|
|
|
['12345 (*1900)', '19701231', 'BDAY', '0', '1900', "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:19001231\r\nEND:VCARD\r\n", "Dr. Foo Bar"], |
|
|
|
['12345 *', '19701231', 'BDAY', '1', null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:--1231\r\nEND:VCARD\r\n", "Dr. Foo Bar"], |
|
|
|
['12345 *', '19701231', 'BDAY', '1', null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY;X-APPLE-OMIT-YEAR=1604:16041231\r\nEND:VCARD\r\n", "Dr. Foo Bar"], |
|
|
|
[null, null, null, null, null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:;VALUE=text:circa 1800\r\nEND:VCARD\r\n", "Dr. Foo Bar"], |
|
|
|
[null, null, null, null, null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nN:12345;;;;\r\nBDAY:20031231\r\nEND:VCARD\r\n", "Dr. Foo Bar"], |
|
|
|
['12345 (*900)', '19701231', 'BDAY', '0', '900', "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:09001231\r\nEND:VCARD\r\n", "Dr. Foo Bar"], |
|
|
|
// $expectedSummary, $expectedDTStart, $expectedFieldType, $expectedUnknownYear, $expectedOriginalYear, $data, $supports4Byte |
|
|
|
[null, null, null, null, null, null, true], |
|
|
|
[null, null, null, null, null, '', true], |
|
|
|
[null, null, null, null, null, 'yasfewf', true], |
|
|
|
[null, null, null, null, null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nEND:VCARD\r\n", true], |
|
|
|
[null, null, null, null, null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:\r\nEND:VCARD\r\n", true], |
|
|
|
[null, null, null, null, null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:someday\r\nEND:VCARD\r\n", true], |
|
|
|
['🎂 12345 (1900)', '19700101', 'BDAY', '0', '1900', "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:19000101\r\nEND:VCARD\r\n", true], |
|
|
|
['🎂 12345 (1900)', '19701231', 'BDAY', '0', '1900', "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:19001231\r\nEND:VCARD\r\n", true], |
|
|
|
['🎂 12345', '19701231', 'BDAY', '1', null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:--1231\r\nEND:VCARD\r\n", true], |
|
|
|
['🎂 12345', '19701231', 'BDAY', '1', null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY;X-APPLE-OMIT-YEAR=1604:16041231\r\nEND:VCARD\r\n", true], |
|
|
|
[null, null, null, null, null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:;VALUE=text:circa 1800\r\nEND:VCARD\r\n", true], |
|
|
|
[null, null, null, null, null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nN:12345;;;;\r\nBDAY:20031231\r\nEND:VCARD\r\n", true], |
|
|
|
['🎂 12345 (900)', '19701231', 'BDAY', '0', '900', "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:09001231\r\nEND:VCARD\r\n", true], |
|
|
|
['12345 (*1900)', '19700101', 'BDAY', '0', '1900', "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:19000101\r\nEND:VCARD\r\n", false], |
|
|
|
['12345 (*1900)', '19701231', 'BDAY', '0', '1900', "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:19001231\r\nEND:VCARD\r\n", false], |
|
|
|
['12345 *', '19701231', 'BDAY', '1', null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:--1231\r\nEND:VCARD\r\n", false], |
|
|
|
['12345 *', '19701231', 'BDAY', '1', null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY;X-APPLE-OMIT-YEAR=1604:16041231\r\nEND:VCARD\r\n", false], |
|
|
|
[null, null, null, null, null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:;VALUE=text:circa 1800\r\nEND:VCARD\r\n", false], |
|
|
|
[null, null, null, null, null, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nN:12345;;;;\r\nBDAY:20031231\r\nEND:VCARD\r\n", false], |
|
|
|
['12345 (*900)', '19701231', 'BDAY', '0', '900', "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:09001231\r\nEND:VCARD\r\n", false], |
|
|
|
]; |
|
|
|
} |
|
|
|
} |