feat: Converted vcalendar todo events to taskwarrior tasks
This commit is contained in:
51
tests/Storages/TaskwarriorTest.php
Normal file
51
tests/Storages/TaskwarriorTest.php
Normal file
@@ -0,0 +1,51 @@
|
||||
<?php
|
||||
|
||||
namespace Aerex\BaikalStorage;
|
||||
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use Aerex\BaikalStorage\AbstractConsole;
|
||||
use Sabre\VObject\Component\VCalendar as Calendar;
|
||||
use Aerex\BaikalStorage\Storages\Taskwarrior;
|
||||
|
||||
class TaskwarriorTest extends TestCase {
|
||||
|
||||
/**
|
||||
* @var \PHPUnit_Framework_MockObject_MockObject
|
||||
* */
|
||||
private $mockConsole;
|
||||
|
||||
function setUp() {
|
||||
$this->mockConsole = $this->createMock(AbstractConsole::class);
|
||||
}
|
||||
|
||||
public function testVObjectToTask() {
|
||||
$configs = ['taskwarrior' => ['taskrc' => '', 'taskdata' => '']];
|
||||
$this->taskwarrior = new Taskwarrior($this->mockConsole, '', $configs);
|
||||
$vcalendar = new Calendar([
|
||||
'VTODO' => [
|
||||
'SUMMARY' => 'Finish project',
|
||||
'DTSTAMP' => new \DateTime('2020-07-04 10:00:00'),
|
||||
'DTSTART' => new \DateTime('2020-07-04 12:00:00'),
|
||||
'DTEND' => new \DateTime('2020-07-05 01:00:00'),
|
||||
'DUE' => new \DateTime('2020-07-05 03:00:00'),
|
||||
'LAST_MODIFIED' => new \DateTime('2020-07-04 13:00:00'),
|
||||
'PRIORITY' => 5,
|
||||
'RRULE' => 'FREQ=MONTHLY'
|
||||
]
|
||||
]);
|
||||
echo $vcalendar->VTODO->RRULE->getJsonValue()[0]['freq'];
|
||||
|
||||
$task = $this->taskwarrior->vObjectToTask($vcalendar->VTODO);
|
||||
$this->assertArrayHasKey('uid', $task, 'task should have a uid');
|
||||
$this->assertEquals((string)$vcalendar->VTODO->UID, $task['uid']);
|
||||
$this->assertArrayHasKey('description', $task, 'task should have description');
|
||||
$this->assertEquals((string)$vcalendar->VTODO->SUMMARY, $task['description']);
|
||||
$this->assertArrayHasKey('due', $task, 'task should have due');
|
||||
$this->assertEquals($vcalendar->VTODO->DUE->getDateTime(), $task['due']);
|
||||
$this->assertArrayHasKey('entry', $task, 'task should have an entry');
|
||||
$this->assertEquals($vcalendar->VTODO->DTSTAMP->getDateTime(), $task['entry']);
|
||||
$this->assertArrayHasKey('start', $task, 'task should have start');
|
||||
$this->assertEquals($vcalendar->VTODO->DTSTART->getDateTime(), $task['start']);
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user