added drag and drop for new records via calendar (#1962)

This commit is contained in:
Kevin Papst
2020-09-17 01:13:48 +02:00
committed by GitHub
parent 14b3de4300
commit 9ef32e75c5
82 changed files with 2808 additions and 385 deletions

View File

@@ -0,0 +1,73 @@
<?php
/*
* This file is part of the Kimai time-tracking app.
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace App\Tests\Event;
use App\Calendar\DragAndDropSource;
use App\Entity\User;
use App\Event\CalendarDragAndDropSourceEvent;
use PHPUnit\Framework\TestCase;
/**
* @covers \App\Event\CalendarDragAndDropSourceEvent
*/
class CalendarDragAndDropSourceEventTest extends TestCase
{
public function testGetterAndSetter()
{
$user = new User();
$user->setAlias('foo');
$sut = new CalendarDragAndDropSourceEvent($user);
self::assertSame($user, $sut->getUser());
self::assertIsArray($sut->getSources());
self::assertEmpty($sut->getSources());
self::assertInstanceOf(CalendarDragAndDropSourceEvent::class, $sut->addSource(new TestDragAndDropSource()));
self::assertCount(1, $sut->getSources());
}
}
class TestDragAndDropSource implements DragAndDropSource
{
public function getTitle(): string
{
return '';
}
public function getRoute(): string
{
return '';
}
public function getRouteParams(): array
{
return [];
}
public function getRouteReplacer(): array
{
return [];
}
public function getMethod(): string
{
return '';
}
public function getEntries(): array
{
return [];
}
public function getBlockInclude(): ?string
{
return null;
}
}

View File

@@ -0,0 +1,35 @@
<?php
/*
* This file is part of the Kimai time-tracking app.
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace App\Tests\Event;
use App\Calendar\GoogleSource;
use App\Entity\User;
use App\Event\CalendarGoogleSourceEvent;
use PHPUnit\Framework\TestCase;
/**
* @covers \App\Event\CalendarGoogleSourceEvent
*/
class CalendarGoogleSourceEventTest extends TestCase
{
public function testGetterAndSetter()
{
$user = new User();
$user->setAlias('foo');
$sut = new CalendarGoogleSourceEvent($user);
self::assertSame($user, $sut->getUser());
self::assertIsArray($sut->getSources());
self::assertEmpty($sut->getSources());
self::assertInstanceOf(CalendarGoogleSourceEvent::class, $sut->addSource(new GoogleSource('', '')));
self::assertCount(1, $sut->getSources());
}
}

View File

@@ -0,0 +1,35 @@
<?php
/*
* This file is part of the Kimai time-tracking app.
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace App\Tests\Event;
use App\Entity\Timesheet;
use App\Event\AbstractTimesheetEvent;
use App\Event\TimesheetRestartPostEvent;
/**
* @covers \App\Event\TimesheetRestartPostEvent
*/
class TimesheetRestartPostEventTest extends AbstractTimesheetEventTest
{
protected function createTimesheetEvent(Timesheet $timesheet): AbstractTimesheetEvent
{
return new TimesheetRestartPostEvent($timesheet, new Timesheet());
}
public function testGetOriginalTimesheet()
{
$newTimesheet = new Timesheet();
$originalTimesheet = new Timesheet();
$sut = new TimesheetRestartPostEvent($newTimesheet, $originalTimesheet);
self::assertSame($newTimesheet, $sut->getTimesheet());
self::assertSame($originalTimesheet, $sut->getOriginalTimesheet());
}
}

View File

@@ -0,0 +1,35 @@
<?php
/*
* This file is part of the Kimai time-tracking app.
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace App\Tests\Event;
use App\Entity\Timesheet;
use App\Event\AbstractTimesheetEvent;
use App\Event\TimesheetRestartPreEvent;
/**
* @covers \App\Event\TimesheetRestartPreEvent
*/
class TimesheetRestartPreEventTest extends AbstractTimesheetEventTest
{
protected function createTimesheetEvent(Timesheet $timesheet): AbstractTimesheetEvent
{
return new TimesheetRestartPreEvent($timesheet, new Timesheet());
}
public function testGetOriginalTimesheet()
{
$newTimesheet = new Timesheet();
$originalTimesheet = new Timesheet();
$sut = new TimesheetRestartPreEvent($newTimesheet, $originalTimesheet);
self::assertSame($newTimesheet, $sut->getTimesheet());
self::assertSame($originalTimesheet, $sut->getOriginalTimesheet());
}
}