billable timesheets, inactive projects report, bookmark export search (#2503)

This commit is contained in:
Kevin Papst
2021-04-18 21:51:27 +02:00
committed by GitHub
parent 8664d94ea6
commit 0330f45c6a
97 changed files with 1516 additions and 664 deletions

View File

@@ -0,0 +1,42 @@
<?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\Reporting\ProjectInactive;
use App\Entity\User;
use App\Reporting\ProjectInactive\ProjectInactiveQuery;
use PHPUnit\Framework\TestCase;
/**
* @covers \App\Reporting\ProjectInactive\ProjectInactiveQuery
*/
class ProjectInactiveQueryTest extends TestCase
{
public function testDefaults()
{
$user = new User();
$date = new \DateTime();
$sut = new ProjectInactiveQuery($date, $user);
self::assertEquals($date, $sut->getLastChange());
self::assertSame($user, $sut->getUser());
}
public function testSetterGetter()
{
$user = new User();
$date = new \DateTime();
$sut = new ProjectInactiveQuery($date, $user);
$date1 = new \DateTime('2020-01-02 19:23:34');
$sut->setLastChange($date1);
self::assertEquals($date1, $sut->getLastChange());
}
}

View File

@@ -24,19 +24,28 @@ class ProjectViewModelTest extends TestCase
$sut = new ProjectViewModel($project);
self::assertSame($project, $sut->getProject());
self::assertEquals(0, $sut->getDurationDay());
self::assertEquals(0, $sut->getDurationMonth());
self::assertEquals(0, $sut->getDurationTotal());
self::assertEquals(0, $sut->getDurationWeek());
self::assertEquals(0, $sut->getNotExportedDuration());
self::assertEquals(0, $sut->getNotExportedRate());
self::assertEquals(0, $sut->getRateTotal());
self::assertSame(0, $sut->getDurationDay());
self::assertSame(0, $sut->getDurationMonth());
self::assertSame(0, $sut->getDurationTotal());
self::assertSame(0, $sut->getDurationWeek());
self::assertSame(0, $sut->getNotExportedDuration());
self::assertSame(0.0, $sut->getNotExportedRate());
self::assertSame(0.0, $sut->getRateTotal());
self::assertNull($sut->getLastRecord());
self::assertSame(0, $sut->getTimesheetCounter());
self::assertNull($sut->getLastRecord());
self::assertSame(0.0, $sut->getBillableRate());
self::assertSame(0, $sut->getBillableDuration());
self::assertSame(0, $sut->getNotBilledDuration());
self::assertSame(0.0, $sut->getNotBilledRate());
}
public function testSetterGetter()
{
$sut = new ProjectViewModel(new Project());
$date = new \DateTime();
$sut->setDurationDay(123456789);
$sut->setDurationMonth(23456789);
$sut->setDurationTotal(3456789);
@@ -44,13 +53,30 @@ class ProjectViewModelTest extends TestCase
$sut->setNotExportedDuration(56789);
$sut->setNotExportedRate(6789);
$sut->setRateTotal(789);
$sut->setLastRecord($date);
self::assertEquals(123456789, $sut->getDurationDay());
self::assertEquals(23456789, $sut->getDurationMonth());
self::assertEquals(3456789, $sut->getDurationTotal());
self::assertEquals(456789, $sut->getDurationWeek());
self::assertEquals(56789, $sut->getNotExportedDuration());
self::assertEquals(6789, $sut->getNotExportedRate());
self::assertEquals(789, $sut->getRateTotal());
self::assertSame(123456789, $sut->getDurationDay());
self::assertSame(23456789, $sut->getDurationMonth());
self::assertSame(3456789, $sut->getDurationTotal());
self::assertSame(456789, $sut->getDurationWeek());
self::assertSame(56789, $sut->getNotExportedDuration());
self::assertSame(6789.0, $sut->getNotExportedRate());
self::assertSame(789.0, $sut->getRateTotal());
self::assertSame($date, $sut->getLastRecord());
$date = new \DateTime();
$sut->setTimesheetCounter(123);
$sut->setLastRecord($date);
$sut->setBillableRate(123.456);
$sut->setBillableDuration(321);
$sut->setNotBilledDuration(9876);
$sut->setNotBilledRate(4705.23);
self::assertSame(123, $sut->getTimesheetCounter());
self::assertSame($date, $sut->getLastRecord());
self::assertSame(123.456, $sut->getBillableRate());
self::assertSame(321, $sut->getBillableDuration());
self::assertSame(9876, $sut->getNotBilledDuration());
self::assertSame(4705.23, $sut->getNotBilledRate());
}
}

View File

@@ -47,6 +47,6 @@ class ReportingServiceTest extends TestCase
$sut = $this->getSut(true);
$reports = $sut->getAvailableReports(new User());
self::assertIsArray($reports);
self::assertCount(5, $reports);
self::assertCount(6, $reports);
}
}