feat(tw): Added project_tag_suffix config to use tag for tw project

This commit is contained in:
Aerex
2020-05-28 11:54:21 -05:00
parent 9d78b4a8eb
commit 346e5c239b
13 changed files with 199 additions and 96 deletions

View File

@@ -0,0 +1,31 @@
<?php
namespace Aerex\BaikalStorage;
use PHPUnit\Framework\TestCase;
use Aerex\BaikalStorage\Configs\ConfigBuilder;
class ConfigTest extends TestCase {
/**
* @var \PHPUnit_Framework_MockObject_MockObject
* */
public $mockConfigBuilder;
public function testLoggerConfigs() {
$configs = new ConfigBuilder(__DIR__ . '/Fixtures/LoggerConfig.yaml');
$contents = $configs->loadYaml();
$this->assertEquals(sizeof($contents), 1);
$this->assertArrayHasKey('logger', $contents, 'config missing logger property');
$this->assertArrayHasKey('file', $contents['logger'], 'config missing logger.file property');
$this->assertEquals($contents['logger']['file'], '/home/user/logger.yaml');
$this->assertArrayHasKey('level', $contents['logger'], 'config missing logger.level property');
$this->assertEquals($contents['logger']['level'], 'ERROR', 'ERROR is not set as default logger level');
$this->assertArrayHasKey('enabled', $contents['logger'], 'config missing logger.enabled property');
$this->assertTrue($contents['logger']['enabled']);
}
}

View File

@@ -0,0 +1,2 @@
logger:
file: /home/user/logger.yaml

View File

@@ -0,0 +1,7 @@
logger:
file: /home/aerex/baikal-storage-plugin.log
level: DEBUG
taskwarrior:
taskdata: /home/aerex/.task
taskrc: /home/aerex/.taskrc
project_tag_suffix: project_

View File

@@ -1,4 +0,0 @@
taskwarrior:
taskdata: '/home/user/.task'
taskrc: '~/home/user/.taskrc'
project_tag_suffix: 'project_'

View File

@@ -5,7 +5,6 @@ namespace Aerex\BaikalStorage;
use PHPUnit\Framework\TestCase;
use Aerex\BaikalStorage\AbstractConsole;
use Aerex\BaikalStorage\Configs\ConfigBuilder;
use Aerex\BaikalStorage\Configs\TaskwarriorConfig;
use Aerex\BaikalStorage\Storages\Taskwarrior;
use Aerex\BaikalStorage\Storages\IStorage;
use Sabre\VObject\Component\VCalendar as Calendar;
@@ -21,18 +20,18 @@ class StorageManagerTest extends TestCase {
public $mockConfigBuilder;
function setUp() {
protected function setUp(): void {
$this->mockConfigBuilder = $this->getMockBuilder(ConfigBuilder::class)
->setMethods(['readContent'])
->setConstructorArgs([''])
->getMock();
$this->mockConsole = $this->createMock(AbstractConsole::class);
$this->mockStorage = $this->createMock(IStorage::class);
$this->mockStorage = $this->createMock(Taskwarrior::class);
}
public function testAddTaskwarriorStorage() {
$configs = ['taskwarrior' => ['taskrc' => '', 'taskdata' => '']];
$tw = new Taskwarrior($this->mockConsole, '', $configs);
$tw = new Taskwarrior($this->mockConsole, $configs);
$manager = new StorageManager($this->mockConfigBuilder);
$manager->addStorage(Taskwarrior::NAME, $tw);
$storages = $manager->getStorages();

View File

@@ -14,13 +14,13 @@ class TaskwarriorTest extends TestCase {
* */
private $mockConsole;
function setUp() {
protected function setUp(): void {
$this->mockConsole = $this->createMock(AbstractConsole::class);
}
public function testVObjectToTask() {
$configs = ['taskwarrior' => ['taskrc' => '', 'taskdata' => '']];
$this->taskwarrior = new Taskwarrior($this->mockConsole, '', $configs);
$configs = ['taskwarrior' => ['taskrc' => '', 'taskdata' => ''], 'logger' => ['file' => '', 'level'=> 'DEBUG', 'enabled' => true]];
$this->taskwarrior = new Taskwarrior($this->mockConsole, $configs);
$vcalendar = new Calendar([
'VTODO' => [
'SUMMARY' => 'Finish project',
@@ -33,7 +33,6 @@ class TaskwarriorTest extends TestCase {
'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');