Upgrade tests to PhpUnit 10 (#5252)

This commit is contained in:
Kevin Papst
2024-12-22 01:25:30 +01:00
committed by GitHub
parent 9bd37fb695
commit c7f0508707
377 changed files with 3308 additions and 3409 deletions

View File

@@ -47,7 +47,7 @@ class BillableCalculatorTest extends TestCase
self::assertEquals($expected, $timesheet->isBillable());
}
public function getTestData()
public static function getTestData()
{
$customerYes = new Customer('foo');
$customerYes->setBillable(true);

View File

@@ -24,11 +24,11 @@ class DurationCalculatorTest extends TestCase
{
$record = new Timesheet();
$record->setBegin(new \DateTime());
$this->assertEquals(0, $record->getDuration());
self::assertEquals(0, $record->getDuration());
$sut = new DurationCalculator((new RoundingServiceFactory($this))->create());
$sut->calculate($record, []);
$this->assertEquals(0, $record->getDuration());
self::assertEquals(0, $record->getDuration());
}
/**
@@ -39,14 +39,14 @@ class DurationCalculatorTest extends TestCase
$record = new Timesheet();
$record->setBegin($start);
$record->setEnd($end);
$this->assertEquals(0, $record->getDuration());
self::assertEquals(0, $record->getDuration());
$sut = new DurationCalculator((new RoundingServiceFactory($this))->create($rules));
$sut->calculate($record, []);
$this->assertEquals($expectedDuration, $record->getDuration());
self::assertEquals($expectedDuration, $record->getDuration());
}
public function getTestData()
public static function getTestData()
{
$start = new \DateTime();
$start->setTime(12, 0, 0);

View File

@@ -49,7 +49,7 @@ class RateCalculatorTest extends TestCase
$sut = new RateCalculator(new RateService([], $this->getRateRepositoryMock()));
$sut->calculate($record, []);
$this->assertEquals(50, $record->getRate());
self::assertEquals(50, $record->getRate());
}
public function testCalculateWithTimesheetFixedRate(): void
@@ -65,10 +65,10 @@ class RateCalculatorTest extends TestCase
$sut = new RateCalculator(new RateService([], $this->getRateRepositoryMock()));
$sut->calculate($record, []);
$this->assertEquals(10, $record->getRate());
self::assertEquals(10, $record->getRate());
}
public function getRateTestData()
public static function getRateTestData()
{ // expected, expInt, durat, userH, userIn, timeH, timeF, actH, actIn, actF, proH, proIn, proFi, custH, custIn, custF
yield 'a0' => [0.0, 0.0, 0, 0, 0, null, null, null, null, false, null, null, false, null, null, false];
yield 'a2' => [0.0, 0.0, 0, 0, null, null, null, null, null, false, null, null, false, null, null, false];
@@ -176,8 +176,8 @@ class RateCalculatorTest extends TestCase
$sut = new RateCalculator(new RateService([], $this->getRateRepositoryMock($rates)));
$sut->calculate($timesheet, []);
$this->assertEquals($expectedRate, $timesheet->getRate());
$this->assertEquals($expectedInternalRate, $timesheet->getInternalRate());
self::assertEquals($expectedRate, $timesheet->getRate());
self::assertEquals($expectedInternalRate, $timesheet->getInternalRate());
}
protected function getTestUser($rate = 75, $internalRate = 75)
@@ -201,11 +201,11 @@ class RateCalculatorTest extends TestCase
$record->setHourlyRate(100);
$record->setActivity(new Activity());
$this->assertEquals(0, $record->getRate());
self::assertEquals(0, $record->getRate());
$sut = new RateCalculator(new RateService([], $this->getRateRepositoryMock()));
$sut->calculate($record, []);
$this->assertEquals(0, $record->getRate());
self::assertEquals(0, $record->getRate());
}
/**
@@ -225,17 +225,17 @@ class RateCalculatorTest extends TestCase
$record->setDuration($duration);
$record->setActivity(new Activity());
$this->assertEquals(0, $record->getRate());
self::assertEquals(0, $record->getRate());
$record->setEnd($end);
$sut = new RateCalculator(new RateService($rules, $this->getRateRepositoryMock()));
$sut->calculate($record, []);
$this->assertEquals($expectedRate, $record->getRate());
self::assertEquals($expectedRate, $record->getRate());
}
public function getRuleDefinitions()
public static function getRuleDefinitions()
{
$start = new \DateTime('12:00:00', new \DateTimeZone('UTC'));
$day = $start->format('l');

View File

@@ -21,7 +21,7 @@ class DateTimeFactoryTest extends TestCase
{
public const TEST_TIMEZONE = 'Europe/London';
protected function createDateTimeFactory(?string $timezone = null, bool $sunday = false): DateTimeFactory
protected static function createDateTimeFactory(?string $timezone = null, bool $sunday = false): DateTimeFactory
{
if (null === $timezone) {
return new DateTimeFactory(null, $sunday);
@@ -33,13 +33,13 @@ class DateTimeFactoryTest extends TestCase
public function testGetTimezone(): void
{
$sut = $this->createDateTimeFactory(self::TEST_TIMEZONE);
$this->assertEquals(self::TEST_TIMEZONE, $sut->getTimezone()->getName());
self::assertEquals(self::TEST_TIMEZONE, $sut->getTimezone()->getName());
}
public function testGetTimezoneWithFallbackTimezone(): void
{
$sut = $this->createDateTimeFactory();
$this->assertEquals(date_default_timezone_get(), $sut->getTimezone()->getName());
self::assertEquals(date_default_timezone_get(), $sut->getTimezone()->getName());
}
public function testGetStartOfMonth(): void
@@ -48,13 +48,13 @@ class DateTimeFactoryTest extends TestCase
$sut = $this->createDateTimeFactory(self::TEST_TIMEZONE);
$dateTime = $sut->getStartOfMonth();
$this->assertEquals(0, $dateTime->format('H'));
$this->assertEquals(0, $dateTime->format('i'));
$this->assertEquals(0, $dateTime->format('s'));
$this->assertEquals(1, $dateTime->format('d'));
$this->assertEquals($expected->format('m'), $dateTime->format('m'));
$this->assertEquals($expected->format('Y'), $dateTime->format('Y'));
$this->assertEquals(self::TEST_TIMEZONE, $dateTime->getTimezone()->getName());
self::assertEquals(0, $dateTime->format('H'));
self::assertEquals(0, $dateTime->format('i'));
self::assertEquals(0, $dateTime->format('s'));
self::assertEquals(1, $dateTime->format('d'));
self::assertEquals($expected->format('m'), $dateTime->format('m'));
self::assertEquals($expected->format('Y'), $dateTime->format('Y'));
self::assertEquals(self::TEST_TIMEZONE, $dateTime->getTimezone()->getName());
}
public function testGetEndOfMonth(): void
@@ -63,20 +63,20 @@ class DateTimeFactoryTest extends TestCase
$sut = $this->createDateTimeFactory(self::TEST_TIMEZONE);
$dateTime = $sut->getEndOfMonth();
$this->assertEquals(23, $dateTime->format('H'));
$this->assertEquals(59, $dateTime->format('i'));
$this->assertEquals(59, $dateTime->format('s'));
$this->assertEquals($expected->format('d'), $dateTime->format('d'));
$this->assertEquals($expected->format('m'), $dateTime->format('m'));
$this->assertEquals($expected->format('Y'), $dateTime->format('Y'));
$this->assertEquals(self::TEST_TIMEZONE, $dateTime->getTimezone()->getName());
self::assertEquals(23, $dateTime->format('H'));
self::assertEquals(59, $dateTime->format('i'));
self::assertEquals(59, $dateTime->format('s'));
self::assertEquals($expected->format('d'), $dateTime->format('d'));
self::assertEquals($expected->format('m'), $dateTime->format('m'));
self::assertEquals($expected->format('Y'), $dateTime->format('Y'));
self::assertEquals(self::TEST_TIMEZONE, $dateTime->getTimezone()->getName());
}
public function getStartOfWeekData()
public static function getStartOfWeekData()
{
yield [$this->createDateTimeFactory(self::TEST_TIMEZONE), 'Monday', 23, 1];
yield [$this->createDateTimeFactory(self::TEST_TIMEZONE, false), 'Monday', 23, 1];
yield [$this->createDateTimeFactory(self::TEST_TIMEZONE, true), 'Sunday', 22, 7];
yield [self::createDateTimeFactory(self::TEST_TIMEZONE), 'Monday', 23, 1];
yield [self::createDateTimeFactory(self::TEST_TIMEZONE, false), 'Monday', 23, 1];
yield [self::createDateTimeFactory(self::TEST_TIMEZONE, true), 'Sunday', 22, 7];
}
/**
@@ -88,32 +88,32 @@ class DateTimeFactoryTest extends TestCase
$dateTime = $sut->getStartOfWeek($expected);
$this->assertEquals(0, $dateTime->format('H'));
$this->assertEquals(0, $dateTime->format('i'));
$this->assertEquals(0, $dateTime->format('s'));
$this->assertEquals($dayNum, $dateTime->format('d'));
$this->assertEquals($day, $dateTime->format('N'));
$this->assertEquals($dayName, $dateTime->format('l'));
$this->assertEquals($expected->format('m'), $dateTime->format('m'));
$this->assertEquals($expected->format('Y'), $dateTime->format('Y'));
$this->assertEquals(self::TEST_TIMEZONE, $dateTime->getTimezone()->getName());
self::assertEquals(0, $dateTime->format('H'));
self::assertEquals(0, $dateTime->format('i'));
self::assertEquals(0, $dateTime->format('s'));
self::assertEquals($dayNum, $dateTime->format('d'));
self::assertEquals($day, $dateTime->format('N'));
self::assertEquals($dayName, $dateTime->format('l'));
self::assertEquals($expected->format('m'), $dateTime->format('m'));
self::assertEquals($expected->format('Y'), $dateTime->format('Y'));
self::assertEquals(self::TEST_TIMEZONE, $dateTime->getTimezone()->getName());
$dateTime = $sut->getStartOfWeek();
$this->assertEquals(0, $dateTime->format('H'));
$this->assertEquals(0, $dateTime->format('i'));
$this->assertEquals(0, $dateTime->format('s'));
$this->assertEquals($day, $dateTime->format('N'));
$this->assertEquals($dayName, $dateTime->format('l'));
self::assertEquals(0, $dateTime->format('H'));
self::assertEquals(0, $dateTime->format('i'));
self::assertEquals(0, $dateTime->format('s'));
self::assertEquals($day, $dateTime->format('N'));
self::assertEquals($dayName, $dateTime->format('l'));
// month and year can be different when the week started at the end of the month
$this->assertEquals(self::TEST_TIMEZONE, $dateTime->getTimezone()->getName());
self::assertEquals(self::TEST_TIMEZONE, $dateTime->getTimezone()->getName());
}
public function getEndOfWeekData()
public static function getEndOfWeekData()
{
yield [$this->createDateTimeFactory(self::TEST_TIMEZONE), 'Sunday', 29, 7];
yield [$this->createDateTimeFactory(self::TEST_TIMEZONE, false), 'Sunday', 29, 7];
yield [$this->createDateTimeFactory(self::TEST_TIMEZONE, true), 'Saturday', 28, 6];
yield [self::createDateTimeFactory(self::TEST_TIMEZONE), 'Sunday', 29, 7];
yield [self::createDateTimeFactory(self::TEST_TIMEZONE, false), 'Sunday', 29, 7];
yield [self::createDateTimeFactory(self::TEST_TIMEZONE, true), 'Saturday', 28, 6];
}
/**
@@ -125,38 +125,38 @@ class DateTimeFactoryTest extends TestCase
$dateTime = $sut->getEndOfWeek($expected);
$this->assertEquals(23, $dateTime->format('H'));
$this->assertEquals(59, $dateTime->format('i'));
$this->assertEquals(59, $dateTime->format('s'));
$this->assertEquals($dayNum, $dateTime->format('d'));
$this->assertEquals($day, $dateTime->format('N'));
$this->assertEquals($dayName, $dateTime->format('l'));
$this->assertEquals('07', $dateTime->format('m'));
$this->assertEquals('2018', $dateTime->format('Y'));
$this->assertEquals(self::TEST_TIMEZONE, $dateTime->getTimezone()->getName());
self::assertEquals(23, $dateTime->format('H'));
self::assertEquals(59, $dateTime->format('i'));
self::assertEquals(59, $dateTime->format('s'));
self::assertEquals($dayNum, $dateTime->format('d'));
self::assertEquals($day, $dateTime->format('N'));
self::assertEquals($dayName, $dateTime->format('l'));
self::assertEquals('07', $dateTime->format('m'));
self::assertEquals('2018', $dateTime->format('Y'));
self::assertEquals(self::TEST_TIMEZONE, $dateTime->getTimezone()->getName());
$dateTime = $sut->getEndOfWeek();
$this->assertEquals(23, $dateTime->format('H'));
$this->assertEquals(59, $dateTime->format('i'));
$this->assertEquals(59, $dateTime->format('s'));
$this->assertEquals($day, $dateTime->format('N'));
$this->assertEquals($dayName, $dateTime->format('l'));
self::assertEquals(23, $dateTime->format('H'));
self::assertEquals(59, $dateTime->format('i'));
self::assertEquals(59, $dateTime->format('s'));
self::assertEquals($day, $dateTime->format('N'));
self::assertEquals($dayName, $dateTime->format('l'));
// month and year can be different when the week started at the end of the month
$this->assertEquals(self::TEST_TIMEZONE, $dateTime->getTimezone()->getName());
self::assertEquals(self::TEST_TIMEZONE, $dateTime->getTimezone()->getName());
}
public function testCreateDateTime(): void
{
$sut = $this->createDateTimeFactory(self::TEST_TIMEZONE);
$dateTime = $sut->createDateTime('2015-07-24 13:45:21');
$this->assertEquals(13, $dateTime->format('H'));
$this->assertEquals(45, $dateTime->format('i'));
$this->assertEquals(21, $dateTime->format('s'));
$this->assertEquals('24', $dateTime->format('d'));
$this->assertEquals('07', $dateTime->format('m'));
$this->assertEquals('2015', $dateTime->format('Y'));
$this->assertEquals(self::TEST_TIMEZONE, $dateTime->getTimezone()->getName());
self::assertEquals(13, $dateTime->format('H'));
self::assertEquals(45, $dateTime->format('i'));
self::assertEquals(21, $dateTime->format('s'));
self::assertEquals('24', $dateTime->format('d'));
self::assertEquals('07', $dateTime->format('m'));
self::assertEquals('2015', $dateTime->format('Y'));
self::assertEquals(self::TEST_TIMEZONE, $dateTime->getTimezone()->getName());
}
public function testCreateDateTimeWithDefaultValue(): void
@@ -167,7 +167,7 @@ class DateTimeFactoryTest extends TestCase
$dateTime = $sut->createDateTime();
$difference = $expected->getTimestamp() - $dateTime->getTimestamp();
// poor test, but there shouldn't be more than 2 seconds between the creation of two DateTime objects
$this->assertTrue(2 >= $difference);
self::assertTrue(2 >= $difference);
}
public function testCreateStartOfFinancialYearWithoutConfig(): void

View File

@@ -103,7 +103,7 @@ class LockdownServiceTest extends TestCase
}
}
public function getTestData()
public static function getTestData()
{
// changing before last dockdown period is not allowed
yield [false, '-5 days', '+5 days', true];
@@ -140,7 +140,7 @@ class LockdownServiceTest extends TestCase
}
}
public function getConfigTestData()
public static function getConfigTestData()
{
yield [false, null, null, null, false];
yield [false, '+5 days', null, null, false];

View File

@@ -37,7 +37,7 @@ class RateServiceTest extends TestCase
return $mock;
}
private function createDateTime(string $datetime = null): \DateTime
private static function createDateTime(string $datetime = null): \DateTime
{
return new \DateTime($datetime ?? 'now', new \DateTimeZone('UTC'));
}
@@ -45,7 +45,7 @@ class RateServiceTest extends TestCase
public function testCalculateWithTimesheetHourlyRate(): void
{
$record = new Timesheet();
$record->setEnd($this->createDateTime());
$record->setEnd(self::createDateTime());
$record->setDuration(1800);
$record->setHourlyRate(100);
$record->setActivity(new Activity());
@@ -53,13 +53,13 @@ class RateServiceTest extends TestCase
$sut = new RateService([], $this->getRateRepositoryMock());
$rate = $sut->calculate($record);
$this->assertEquals(50, $rate->getRate());
self::assertEquals(50, $rate->getRate());
}
public function testCalculateWithTimesheetFixedRate(): void
{
$record = new Timesheet();
$record->setEnd($this->createDateTime());
$record->setEnd(self::createDateTime());
$record->setDuration(1800);
$record->setFixedRate(10);
// make sure that fixed rate is always applied, even if hourly rate is set
@@ -69,10 +69,10 @@ class RateServiceTest extends TestCase
$sut = new RateService([], $this->getRateRepositoryMock());
$rate = $sut->calculate($record);
$this->assertEquals(10, $rate->getRate());
self::assertEquals(10, $rate->getRate());
}
public function getRateTestData()
public static function getRateTestData()
{ // expected, expInt, durat, userH, userIn, timeH, timeF, actH, actIn, actF, proH, proIn, proFi, custH, custIn, custF
yield 'a0' => [0.0, 0.0, 0, 0, 0, null, null, null, null, false, null, null, false, null, null, false];
yield 'a2' => [0.0, 0.0, 0, 0, null, null, null, null, null, false, null, null, false, null, null, false];
@@ -137,7 +137,7 @@ class RateServiceTest extends TestCase
$timesheet = new Timesheet();
$timesheet
->setEnd($this->createDateTime())
->setEnd(self::createDateTime())
->setHourlyRate($timesheetHourly)
->setFixedRate($timesheetFixed)
->setActivity($activity)
@@ -180,8 +180,8 @@ class RateServiceTest extends TestCase
$sut = new RateService([], $this->getRateRepositoryMock($rates));
$rate = $sut->calculate($timesheet);
$this->assertEquals($expectedRate, $rate->getRate());
$this->assertEquals($expectedInternalRate, $rate->getInternalRate());
self::assertEquals($expectedRate, $rate->getRate());
self::assertEquals($expectedInternalRate, $rate->getInternalRate());
}
protected function getTestUser($rate = 75, $internalRate = 75)
@@ -199,17 +199,17 @@ class RateServiceTest extends TestCase
public function testCalculateWithEmptyEnd(): void
{
$record = new Timesheet();
$record->setBegin($this->createDateTime());
$record->setBegin(self::createDateTime());
$record->setDuration(1800);
$record->setFixedRate(100);
$record->setHourlyRate(100);
$record->setActivity(new Activity());
$this->assertEquals(0, $record->getRate());
self::assertEquals(0, $record->getRate());
$sut = new RateService([], $this->getRateRepositoryMock());
$rate = $sut->calculate($record);
$this->assertEquals(0, $rate->getRate());
self::assertEquals(0, $rate->getRate());
}
/**
@@ -219,7 +219,7 @@ class RateServiceTest extends TestCase
*/
public function testCalculateWithRulesByUsersHourlyRate($duration, $rules, $expectedRate): void
{
$end = $this->createDateTime('12:00:00');
$end = self::createDateTime('12:00:00');
$start = clone $end;
$start->setTimestamp($end->getTimestamp() - $duration);
@@ -229,19 +229,19 @@ class RateServiceTest extends TestCase
$record->setDuration($duration);
$record->setActivity(new Activity());
$this->assertEquals(0, $record->getRate());
self::assertEquals(0, $record->getRate());
$record->setEnd($end);
$sut = new RateService($rules, $this->getRateRepositoryMock());
$rate = $sut->calculate($record);
$this->assertEquals($expectedRate, $rate->getRate());
self::assertEquals($expectedRate, $rate->getRate());
}
public function getRuleDefinitions()
public static function getRuleDefinitions()
{
$start = $this->createDateTime('12:00:00');
$start = self::createDateTime('12:00:00');
$day = $start->format('l');
return [

View File

@@ -26,7 +26,7 @@ class CeilRoundingTest extends TestCase
$record = new Timesheet();
$record->setBegin($start);
$record->setEnd($end);
$this->assertEquals(0, $record->getDuration());
self::assertEquals(0, $record->getDuration());
$record->setDuration($record->getEnd()->getTimestamp() - $record->getBegin()->getTimestamp());
@@ -37,12 +37,12 @@ class CeilRoundingTest extends TestCase
$record->setDuration($record->getEnd()->getTimestamp() - $record->getBegin()->getTimestamp());
$sut->roundDuration($record, $roundDuration);
$this->assertEquals($expectedStart->getTimestamp(), $record->getBegin()->getTimestamp());
$this->assertEquals($expectedEnd->getTimestamp(), $record->getEnd()->getTimestamp());
$this->assertEquals($expectedDuration, $record->getDuration());
self::assertEquals($expectedStart->getTimestamp(), $record->getBegin()->getTimestamp());
self::assertEquals($expectedEnd->getTimestamp(), $record->getEnd()->getTimestamp());
self::assertEquals($expectedDuration, $record->getDuration());
}
public function getTestData()
public static function getTestData()
{
$start = new \DateTime();
$start->setTime(12, 0, 0);

View File

@@ -26,7 +26,7 @@ class ClosestRoundingTest extends TestCase
$record = new Timesheet();
$record->setBegin($start);
$record->setEnd($end);
$this->assertEquals(0, $record->getDuration());
self::assertEquals(0, $record->getDuration());
$record->setDuration($record->getEnd()->getTimestamp() - $record->getBegin()->getTimestamp());
@@ -37,12 +37,12 @@ class ClosestRoundingTest extends TestCase
$record->setDuration($record->getEnd()->getTimestamp() - $record->getBegin()->getTimestamp());
$sut->roundDuration($record, $roundDuration);
$this->assertEquals($expectedStart->getTimestamp(), $record->getBegin()->getTimestamp());
$this->assertEquals($expectedEnd->getTimestamp(), $record->getEnd()->getTimestamp());
$this->assertEquals($expectedDuration, $record->getDuration());
self::assertEquals($expectedStart->getTimestamp(), $record->getBegin()->getTimestamp());
self::assertEquals($expectedEnd->getTimestamp(), $record->getEnd()->getTimestamp());
self::assertEquals($expectedDuration, $record->getDuration());
}
public function getTestData()
public static function getTestData()
{
$start = new \DateTime();
$start->setTime(12, 0, 0);

View File

@@ -26,7 +26,7 @@ class DefaultRoundingTest extends TestCase
$record = new Timesheet();
$record->setBegin($start);
$record->setEnd($end);
$this->assertEquals(0, $record->getDuration());
self::assertEquals(0, $record->getDuration());
$record->setDuration($record->getEnd()->getTimestamp() - $record->getBegin()->getTimestamp());
@@ -37,12 +37,12 @@ class DefaultRoundingTest extends TestCase
$record->setDuration($record->getEnd()->getTimestamp() - $record->getBegin()->getTimestamp());
$sut->roundDuration($record, $roundDuration);
$this->assertEquals($expectedStart->getTimestamp(), $record->getBegin()->getTimestamp());
$this->assertEquals($expectedEnd->getTimestamp(), $record->getEnd()->getTimestamp());
$this->assertEquals($expectedDuration, $record->getDuration());
self::assertEquals($expectedStart->getTimestamp(), $record->getBegin()->getTimestamp());
self::assertEquals($expectedEnd->getTimestamp(), $record->getEnd()->getTimestamp());
self::assertEquals($expectedDuration, $record->getDuration());
}
public function getTestData()
public static function getTestData()
{
$start = new \DateTime();
$start->setTime(12, 0, 0);

View File

@@ -26,7 +26,7 @@ class FloorRoundingTest extends TestCase
$record = new Timesheet();
$record->setBegin($start);
$record->setEnd($end);
$this->assertEquals(0, $record->getDuration());
self::assertEquals(0, $record->getDuration());
$record->setDuration($record->getEnd()->getTimestamp() - $record->getBegin()->getTimestamp());
@@ -37,12 +37,12 @@ class FloorRoundingTest extends TestCase
$record->setDuration($record->getEnd()->getTimestamp() - $record->getBegin()->getTimestamp());
$sut->roundDuration($record, $roundDuration);
$this->assertEquals($expectedStart->getTimestamp(), $record->getBegin()->getTimestamp());
$this->assertEquals($expectedEnd->getTimestamp(), $record->getEnd()->getTimestamp());
$this->assertEquals($expectedDuration, $record->getDuration());
self::assertEquals($expectedStart->getTimestamp(), $record->getBegin()->getTimestamp());
self::assertEquals($expectedEnd->getTimestamp(), $record->getEnd()->getTimestamp());
self::assertEquals($expectedDuration, $record->getDuration());
}
public function getTestData()
public static function getTestData()
{
$start = new \DateTime();
$start->setTime(12, 0, 0);

View File

@@ -22,11 +22,11 @@ class RoundingServiceTest extends TestCase
{
$record = new Timesheet();
$record->setBegin(new \DateTime());
$this->assertEquals(0, $record->getDuration());
self::assertEquals(0, $record->getDuration());
$sut = (new RoundingServiceFactory($this))->create();
$sut->applyRoundings($record);
$this->assertEquals(0, $record->getDuration());
self::assertEquals(0, $record->getDuration());
}
/**
@@ -37,22 +37,22 @@ class RoundingServiceTest extends TestCase
$record = new Timesheet();
$record->setBegin($start);
$record->setEnd($end);
$this->assertEquals(0, $record->getDuration());
self::assertEquals(0, $record->getDuration());
$sut = (new RoundingServiceFactory($this))->create($rules);
$sut->roundBegin($record);
$this->assertEquals($expectedStart, $record->getBegin());
self::assertEquals($expectedStart, $record->getBegin());
$sut->roundEnd($record);
$this->assertEquals($expectedEnd, $record->getEnd());
self::assertEquals($expectedEnd, $record->getEnd());
// set the proper duration
$record->setDuration($record->getEnd()->getTimestamp() - $record->getBegin()->getTimestamp());
$sut->roundDuration($record);
$this->assertEquals($expectedDuration, $record->getDuration());
self::assertEquals($expectedDuration, $record->getDuration());
}
public function getTestData()
public static function getTestData()
{
$start = new \DateTime();
$start->setTime(12, 0, 0);

View File

@@ -18,12 +18,12 @@ use Symfony\Component\HttpFoundation\Request;
/**
* @covers \App\Timesheet\TrackingMode\AbstractTrackingMode
*/
abstract class AbstractTrackingModeTest extends TestCase
abstract class AbstractTrackingModeTestCase extends TestCase
{
/**
* @return AbstractTrackingMode
*/
abstract protected function createSut();
abstract protected function createSut(string $default = '13:47', bool $allowApiTimes = false);
protected function createTimesheet(): Timesheet
{

View File

@@ -16,7 +16,7 @@ use App\Timesheet\TrackingMode\DefaultMode;
/**
* @covers \App\Timesheet\TrackingMode\DefaultMode
*/
class DefaultModeTest extends AbstractTrackingModeTest
class DefaultModeTest extends AbstractTrackingModeTestCase
{
public function assertDefaultBegin(Timesheet $timesheet): void
{
@@ -26,7 +26,7 @@ class DefaultModeTest extends AbstractTrackingModeTest
/**
* @return DefaultMode
*/
protected function createSut(): DefaultMode
protected function createSut(string $default = '13:47', bool $allowApiTimes = false): DefaultMode
{
return new DefaultMode((new RoundingServiceFactory($this))->create());
}

View File

@@ -22,10 +22,10 @@ class UtilTest extends TestCase
*/
public function testCalculateRate(int|float $hourlyRate, int $duration, int|float $expectedRate): void
{
$this->assertEquals($expectedRate, Util::calculateRate($hourlyRate, $duration));
self::assertEquals($expectedRate, Util::calculateRate($hourlyRate, $duration));
}
public function getRateCalculationData()
public static function getRateCalculationData()
{
yield [0, 0, 0];
yield [1, 100, 0.0278];