mirror of
https://github.com/kevinpapst/kimai2.git
synced 2025-04-19 11:39:48 +00:00

* remove permission check, as own timesheets should always be visible * new methods to create datetime * allow access to user roles in javascript * support class for dropdown actions * allow to edit internal rate * support human readable duration in export via user configuration * allow to order timesheet listing by user, exported and billable field * bump codecov action
68 lines
2.1 KiB
PHP
68 lines
2.1 KiB
PHP
<?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\Export\Package\CellFormatter;
|
|
|
|
use App\Export\Package\CellFormatter\DurationDecimalFormatter;
|
|
use PHPUnit\Framework\TestCase;
|
|
|
|
/**
|
|
* @covers \App\Export\Package\CellFormatter\DurationDecimalFormatter
|
|
*/
|
|
class DurationDecimalFormatterTest extends TestCase
|
|
{
|
|
public function testFormatValueReturnsFormattedDurationForNumericValue(): void
|
|
{
|
|
$formatter = new DurationDecimalFormatter();
|
|
$result = $formatter->formatValue(7200);
|
|
self::assertEquals(2.00, $result);
|
|
}
|
|
|
|
public function testFormatValueReturnsZeroForNonNumericValue(): void
|
|
{
|
|
$formatter = new DurationDecimalFormatter();
|
|
$result = $formatter->formatValue('not a number');
|
|
self::assertEquals(0.0, $result);
|
|
}
|
|
|
|
public function testFormatValueReturnsFormattedDurationForFloatValue(): void
|
|
{
|
|
$formatter = new DurationDecimalFormatter();
|
|
$result = $formatter->formatValue(4500.5);
|
|
self::assertEquals(1.25, $result);
|
|
}
|
|
|
|
public function testFormatValueReturnsFormattedDurationForStringValue(): void
|
|
{
|
|
$formatter = new DurationDecimalFormatter();
|
|
$result = $formatter->formatValue('4500.5');
|
|
self::assertEquals(1.25, $result);
|
|
}
|
|
|
|
public function testFormatValueReturnsZeroForNullValue(): void
|
|
{
|
|
$formatter = new DurationDecimalFormatter();
|
|
$result = $formatter->formatValue(null);
|
|
self::assertEquals(0.0, $result);
|
|
}
|
|
|
|
public function testFormatValueReturnsFormattedDurationForNegativeValue(): void
|
|
{
|
|
$formatter = new DurationDecimalFormatter();
|
|
$result = $formatter->formatValue(-3600);
|
|
self::assertEquals(-1.00, $result);
|
|
}
|
|
|
|
public function testFormatValueReturnsFormattedDurationForNegativeStringValue(): void
|
|
{
|
|
$formatter = new DurationDecimalFormatter();
|
|
$result = $formatter->formatValue('-3600');
|
|
self::assertEquals(-1.00, $result);
|
|
}
|
|
}
|