Fix code quality and run.

This commit is contained in:
James Cole
2023-11-04 14:26:35 +01:00
parent bcf1e4dc13
commit 7436f94feb
15 changed files with 96 additions and 95 deletions

View File

@@ -41,6 +41,7 @@ return $config->setRules([
'declare_strict_types' => true, 'declare_strict_types' => true,
'strict_param' => true, 'strict_param' => true,
'array_syntax' => ['syntax' => 'short'], 'array_syntax' => ['syntax' => 'short'],
'native_function_invocation' => false, 'native_function_invocation' => false, // annoying
'php_unit_data_provider_name' => false, // bloody annoying long test names
]) ])
->setFinder($finder); ->setFinder($finder);

View File

@@ -23,6 +23,7 @@ declare(strict_types=1);
namespace FireflyIII\Models; namespace FireflyIII\Models;
use Carbon\Carbon;
use Eloquent; use Eloquent;
use FireflyIII\User; use FireflyIII\User;
use Illuminate\Database\Eloquent\Collection; use Illuminate\Database\Eloquent\Collection;
@@ -31,7 +32,6 @@ use Illuminate\Database\Eloquent\Relations\BelongsToMany;
use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Database\Query\Builder; use Illuminate\Database\Query\Builder;
use Carbon\Carbon;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
/** /**
@@ -42,8 +42,8 @@ use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
* @property Carbon|null $updated_at * @property Carbon|null $updated_at
* @property Carbon|null $deleted_at * @property Carbon|null $deleted_at
* @property bool $enabled * @property bool $enabled
* @property bool $userDefault * @property bool|null $userDefault
* @property bool $userEnabled * @property bool|null $userEnabled
* @property string $code * @property string $code
* @property string $name * @property string $name
* @property string $symbol * @property string $symbol

View File

@@ -42,6 +42,6 @@ class NavigationCustomEndOfPeriodTest extends TestCase
$navigation = new Navigation(); $navigation = new Navigation();
$period = $navigation->endOfPeriod($from, 'custom'); $period = $navigation->endOfPeriod($from, 'custom');
$this->assertEquals($expected->toDateString(), $period->toDateString()); self::assertSame($expected->toDateString(), $period->toDateString());
} }
} }

View File

@@ -31,8 +31,8 @@ use Tests\integration\Traits\CollectsValues;
*/ */
abstract class TestCase extends BaseTestCase abstract class TestCase extends BaseTestCase
{ {
use CreatesApplication;
use CollectsValues; use CollectsValues;
use CreatesApplication;
protected const MAX_ITERATIONS = 2; protected const MAX_ITERATIONS = 2;

View File

@@ -48,69 +48,69 @@ readonly class CalculatorProvider
public static function providePeriodicityWithSkippedIntervals(): Generator public static function providePeriodicityWithSkippedIntervals(): Generator
{ {
$intervals = [ $intervals = [
CalculatorProvider::from(Periodicity::Daily, new IntervalProvider(Carbon::now(), Carbon::now()->addDays(2)), 1), self::from(Periodicity::Daily, new IntervalProvider(Carbon::now(), Carbon::now()->addDays(2)), 1),
CalculatorProvider::from(Periodicity::Daily, new IntervalProvider(Carbon::now(), Carbon::now()->addDays(3)), 2), self::from(Periodicity::Daily, new IntervalProvider(Carbon::now(), Carbon::now()->addDays(3)), 2),
CalculatorProvider::from(Periodicity::Daily, new IntervalProvider(Carbon::parse('2023-01-31'), Carbon::parse('2023-02-11')), 10), self::from(Periodicity::Daily, new IntervalProvider(Carbon::parse('2023-01-31'), Carbon::parse('2023-02-11')), 10),
CalculatorProvider::from(Periodicity::Weekly, new IntervalProvider(Carbon::now(), Carbon::now()->addWeeks(3)), 2), self::from(Periodicity::Weekly, new IntervalProvider(Carbon::now(), Carbon::now()->addWeeks(3)), 2),
CalculatorProvider::from(Periodicity::Weekly, new IntervalProvider(Carbon::parse('2023-01-31'), Carbon::parse('2023-02-14')), 1), self::from(Periodicity::Weekly, new IntervalProvider(Carbon::parse('2023-01-31'), Carbon::parse('2023-02-14')), 1),
CalculatorProvider::from(Periodicity::Fortnightly, new IntervalProvider(Carbon::now(), Carbon::now()->addWeeks(4)), 1), self::from(Periodicity::Fortnightly, new IntervalProvider(Carbon::now(), Carbon::now()->addWeeks(4)), 1),
CalculatorProvider::from(Periodicity::Fortnightly, new IntervalProvider(Carbon::parse('2023-01-29'), Carbon::parse('2023-02-26')), 1), self::from(Periodicity::Fortnightly, new IntervalProvider(Carbon::parse('2023-01-29'), Carbon::parse('2023-02-26')), 1),
CalculatorProvider::from(Periodicity::Fortnightly, new IntervalProvider(Carbon::parse('2023-01-30'), Carbon::parse('2023-02-27')), 1), self::from(Periodicity::Fortnightly, new IntervalProvider(Carbon::parse('2023-01-30'), Carbon::parse('2023-02-27')), 1),
CalculatorProvider::from(Periodicity::Fortnightly, new IntervalProvider(Carbon::parse('2023-01-31'), Carbon::parse('2023-02-28')), 1), self::from(Periodicity::Fortnightly, new IntervalProvider(Carbon::parse('2023-01-31'), Carbon::parse('2023-02-28')), 1),
CalculatorProvider::from(Periodicity::Monthly, new IntervalProvider(Carbon::now(), Carbon::now()->addMonthsNoOverflow(2)), 1), self::from(Periodicity::Monthly, new IntervalProvider(Carbon::now(), Carbon::now()->addMonthsNoOverflow(2)), 1),
CalculatorProvider::from(Periodicity::Monthly, new IntervalProvider(Carbon::parse('2019-12-30'), Carbon::parse('2020-02-29')), 1), self::from(Periodicity::Monthly, new IntervalProvider(Carbon::parse('2019-12-30'), Carbon::parse('2020-02-29')), 1),
CalculatorProvider::from(Periodicity::Monthly, new IntervalProvider(Carbon::parse('2019-12-31'), Carbon::parse('2020-02-29')), 1), self::from(Periodicity::Monthly, new IntervalProvider(Carbon::parse('2019-12-31'), Carbon::parse('2020-02-29')), 1),
CalculatorProvider::from(Periodicity::Monthly, new IntervalProvider(Carbon::parse('2020-01-29'), Carbon::parse('2020-03-29')), 1), self::from(Periodicity::Monthly, new IntervalProvider(Carbon::parse('2020-01-29'), Carbon::parse('2020-03-29')), 1),
CalculatorProvider::from(Periodicity::Monthly, new IntervalProvider(Carbon::parse('2020-01-31'), Carbon::parse('2020-09-30')), 7), self::from(Periodicity::Monthly, new IntervalProvider(Carbon::parse('2020-01-31'), Carbon::parse('2020-09-30')), 7),
CalculatorProvider::from(Periodicity::Monthly, new IntervalProvider(Carbon::parse('2020-12-29'), Carbon::parse('2021-02-28')), 1), self::from(Periodicity::Monthly, new IntervalProvider(Carbon::parse('2020-12-29'), Carbon::parse('2021-02-28')), 1),
CalculatorProvider::from(Periodicity::Monthly, new IntervalProvider(Carbon::parse('2020-12-30'), Carbon::parse('2021-02-28')), 1), self::from(Periodicity::Monthly, new IntervalProvider(Carbon::parse('2020-12-30'), Carbon::parse('2021-02-28')), 1),
CalculatorProvider::from(Periodicity::Monthly, new IntervalProvider(Carbon::parse('2020-12-31'), Carbon::parse('2021-02-28')), 1), self::from(Periodicity::Monthly, new IntervalProvider(Carbon::parse('2020-12-31'), Carbon::parse('2021-02-28')), 1),
CalculatorProvider::from(Periodicity::Monthly, new IntervalProvider(Carbon::parse('2023-03-31'), Carbon::parse('2023-11-30')), 7), self::from(Periodicity::Monthly, new IntervalProvider(Carbon::parse('2023-03-31'), Carbon::parse('2023-11-30')), 7),
CalculatorProvider::from(Periodicity::Monthly, new IntervalProvider(Carbon::parse('2023-05-31'), Carbon::parse('2023-08-31')), 2), self::from(Periodicity::Monthly, new IntervalProvider(Carbon::parse('2023-05-31'), Carbon::parse('2023-08-31')), 2),
CalculatorProvider::from(Periodicity::Monthly, new IntervalProvider(Carbon::parse('2023-07-31'), Carbon::parse('2023-09-30')), 1), self::from(Periodicity::Monthly, new IntervalProvider(Carbon::parse('2023-07-31'), Carbon::parse('2023-09-30')), 1),
CalculatorProvider::from(Periodicity::Monthly, new IntervalProvider(Carbon::parse('2023-10-30'), Carbon::parse('2024-02-29')), 3), self::from(Periodicity::Monthly, new IntervalProvider(Carbon::parse('2023-10-30'), Carbon::parse('2024-02-29')), 3),
CalculatorProvider::from(Periodicity::Monthly, new IntervalProvider(Carbon::parse('2023-10-31'), Carbon::parse('2024-02-29')), 3), self::from(Periodicity::Monthly, new IntervalProvider(Carbon::parse('2023-10-31'), Carbon::parse('2024-02-29')), 3),
CalculatorProvider::from(Periodicity::Bimonthly, new IntervalProvider(Carbon::now(), Carbon::now()->addMonthsNoOverflow(6)), 2), self::from(Periodicity::Bimonthly, new IntervalProvider(Carbon::now(), Carbon::now()->addMonthsNoOverflow(6)), 2),
CalculatorProvider::from(Periodicity::Bimonthly, new IntervalProvider(Carbon::parse('2019-08-29'), Carbon::parse('2020-02-29')), 2), self::from(Periodicity::Bimonthly, new IntervalProvider(Carbon::parse('2019-08-29'), Carbon::parse('2020-02-29')), 2),
CalculatorProvider::from(Periodicity::Bimonthly, new IntervalProvider(Carbon::parse('2019-08-30'), Carbon::parse('2020-02-29')), 2), self::from(Periodicity::Bimonthly, new IntervalProvider(Carbon::parse('2019-08-30'), Carbon::parse('2020-02-29')), 2),
CalculatorProvider::from(Periodicity::Bimonthly, new IntervalProvider(Carbon::parse('2019-08-31'), Carbon::parse('2020-02-29')), 2), self::from(Periodicity::Bimonthly, new IntervalProvider(Carbon::parse('2019-08-31'), Carbon::parse('2020-02-29')), 2),
CalculatorProvider::from(Periodicity::Bimonthly, new IntervalProvider(Carbon::parse('2019-10-30'), Carbon::parse('2020-02-29')), 1), self::from(Periodicity::Bimonthly, new IntervalProvider(Carbon::parse('2019-10-30'), Carbon::parse('2020-02-29')), 1),
CalculatorProvider::from(Periodicity::Bimonthly, new IntervalProvider(Carbon::parse('2019-10-31'), Carbon::parse('2020-02-29')), 1), self::from(Periodicity::Bimonthly, new IntervalProvider(Carbon::parse('2019-10-31'), Carbon::parse('2020-02-29')), 1),
CalculatorProvider::from(Periodicity::Bimonthly, new IntervalProvider(Carbon::parse('2020-02-29'), Carbon::parse('2021-02-28')), 5), self::from(Periodicity::Bimonthly, new IntervalProvider(Carbon::parse('2020-02-29'), Carbon::parse('2021-02-28')), 5),
CalculatorProvider::from(Periodicity::Bimonthly, new IntervalProvider(Carbon::parse('2020-08-29'), Carbon::parse('2021-02-28')), 2), self::from(Periodicity::Bimonthly, new IntervalProvider(Carbon::parse('2020-08-29'), Carbon::parse('2021-02-28')), 2),
CalculatorProvider::from(Periodicity::Bimonthly, new IntervalProvider(Carbon::parse('2020-08-30'), Carbon::parse('2021-02-28')), 2), self::from(Periodicity::Bimonthly, new IntervalProvider(Carbon::parse('2020-08-30'), Carbon::parse('2021-02-28')), 2),
CalculatorProvider::from(Periodicity::Bimonthly, new IntervalProvider(Carbon::parse('2020-08-31'), Carbon::parse('2021-02-28')), 2), self::from(Periodicity::Bimonthly, new IntervalProvider(Carbon::parse('2020-08-31'), Carbon::parse('2021-02-28')), 2),
CalculatorProvider::from(Periodicity::Quarterly, new IntervalProvider(Carbon::now(), Carbon::now()->addMonthsNoOverflow(9)), 2), self::from(Periodicity::Quarterly, new IntervalProvider(Carbon::now(), Carbon::now()->addMonthsNoOverflow(9)), 2),
CalculatorProvider::from(Periodicity::Quarterly, new IntervalProvider(Carbon::parse('2019-05-29'), Carbon::parse('2020-02-29')), 2), self::from(Periodicity::Quarterly, new IntervalProvider(Carbon::parse('2019-05-29'), Carbon::parse('2020-02-29')), 2),
CalculatorProvider::from(Periodicity::Quarterly, new IntervalProvider(Carbon::parse('2019-05-30'), Carbon::parse('2020-02-29')), 2), self::from(Periodicity::Quarterly, new IntervalProvider(Carbon::parse('2019-05-30'), Carbon::parse('2020-02-29')), 2),
CalculatorProvider::from(Periodicity::Quarterly, new IntervalProvider(Carbon::parse('2019-05-31'), Carbon::parse('2020-02-29')), 2), self::from(Periodicity::Quarterly, new IntervalProvider(Carbon::parse('2019-05-31'), Carbon::parse('2020-02-29')), 2),
CalculatorProvider::from(Periodicity::Quarterly, new IntervalProvider(Carbon::parse('2020-02-29'), Carbon::parse('2021-02-28')), 3), self::from(Periodicity::Quarterly, new IntervalProvider(Carbon::parse('2020-02-29'), Carbon::parse('2021-02-28')), 3),
CalculatorProvider::from(Periodicity::Quarterly, new IntervalProvider(Carbon::parse('2020-08-29'), Carbon::parse('2021-02-28')), 1), self::from(Periodicity::Quarterly, new IntervalProvider(Carbon::parse('2020-08-29'), Carbon::parse('2021-02-28')), 1),
CalculatorProvider::from(Periodicity::Quarterly, new IntervalProvider(Carbon::parse('2020-08-30'), Carbon::parse('2021-02-28')), 1), self::from(Periodicity::Quarterly, new IntervalProvider(Carbon::parse('2020-08-30'), Carbon::parse('2021-02-28')), 1),
CalculatorProvider::from(Periodicity::Quarterly, new IntervalProvider(Carbon::parse('2020-08-31'), Carbon::parse('2021-02-28')), 1), self::from(Periodicity::Quarterly, new IntervalProvider(Carbon::parse('2020-08-31'), Carbon::parse('2021-02-28')), 1),
CalculatorProvider::from(Periodicity::HalfYearly, new IntervalProvider(Carbon::now(), Carbon::now()->addMonthsNoOverflow(12)), 1), self::from(Periodicity::HalfYearly, new IntervalProvider(Carbon::now(), Carbon::now()->addMonthsNoOverflow(12)), 1),
CalculatorProvider::from(Periodicity::HalfYearly, new IntervalProvider(Carbon::now(), Carbon::now()->addMonthsNoOverflow(18)), 2), self::from(Periodicity::HalfYearly, new IntervalProvider(Carbon::now(), Carbon::now()->addMonthsNoOverflow(18)), 2),
CalculatorProvider::from(Periodicity::HalfYearly, new IntervalProvider(Carbon::now(), Carbon::now()->addMonthsNoOverflow(24)), 3), self::from(Periodicity::HalfYearly, new IntervalProvider(Carbon::now(), Carbon::now()->addMonthsNoOverflow(24)), 3),
CalculatorProvider::from(Periodicity::HalfYearly, new IntervalProvider(Carbon::parse('2018-08-29'), Carbon::parse('2020-02-29')), 2), self::from(Periodicity::HalfYearly, new IntervalProvider(Carbon::parse('2018-08-29'), Carbon::parse('2020-02-29')), 2),
CalculatorProvider::from(Periodicity::HalfYearly, new IntervalProvider(Carbon::parse('2018-08-30'), Carbon::parse('2020-02-29')), 2), self::from(Periodicity::HalfYearly, new IntervalProvider(Carbon::parse('2018-08-30'), Carbon::parse('2020-02-29')), 2),
CalculatorProvider::from(Periodicity::HalfYearly, new IntervalProvider(Carbon::parse('2018-08-31'), Carbon::parse('2020-02-29')), 2), self::from(Periodicity::HalfYearly, new IntervalProvider(Carbon::parse('2018-08-31'), Carbon::parse('2020-02-29')), 2),
CalculatorProvider::from(Periodicity::HalfYearly, new IntervalProvider(Carbon::parse('2019-01-31'), Carbon::parse('2021-01-31')), 3), self::from(Periodicity::HalfYearly, new IntervalProvider(Carbon::parse('2019-01-31'), Carbon::parse('2021-01-31')), 3),
CalculatorProvider::from(Periodicity::HalfYearly, new IntervalProvider(Carbon::parse('2019-02-28'), Carbon::parse('2021-08-28')), 4), self::from(Periodicity::HalfYearly, new IntervalProvider(Carbon::parse('2019-02-28'), Carbon::parse('2021-08-28')), 4),
CalculatorProvider::from(Periodicity::HalfYearly, new IntervalProvider(Carbon::parse('2020-01-31'), Carbon::parse('2021-01-31')), 1), self::from(Periodicity::HalfYearly, new IntervalProvider(Carbon::parse('2020-01-31'), Carbon::parse('2021-01-31')), 1),
CalculatorProvider::from(Periodicity::HalfYearly, new IntervalProvider(Carbon::parse('2020-02-29'), Carbon::parse('2021-02-28')), 1), self::from(Periodicity::HalfYearly, new IntervalProvider(Carbon::parse('2020-02-29'), Carbon::parse('2021-02-28')), 1),
CalculatorProvider::from(Periodicity::HalfYearly, new IntervalProvider(Carbon::parse('2020-08-29'), Carbon::parse('2022-02-28')), 2), self::from(Periodicity::HalfYearly, new IntervalProvider(Carbon::parse('2020-08-29'), Carbon::parse('2022-02-28')), 2),
CalculatorProvider::from(Periodicity::HalfYearly, new IntervalProvider(Carbon::parse('2020-08-30'), Carbon::parse('2022-02-28')), 2), self::from(Periodicity::HalfYearly, new IntervalProvider(Carbon::parse('2020-08-30'), Carbon::parse('2022-02-28')), 2),
CalculatorProvider::from(Periodicity::HalfYearly, new IntervalProvider(Carbon::parse('2020-08-31'), Carbon::parse('2022-02-28')), 2), self::from(Periodicity::HalfYearly, new IntervalProvider(Carbon::parse('2020-08-31'), Carbon::parse('2022-02-28')), 2),
CalculatorProvider::from(Periodicity::Yearly, new IntervalProvider(Carbon::now(), Carbon::now()->addYearsNoOverflow(3)), 2), self::from(Periodicity::Yearly, new IntervalProvider(Carbon::now(), Carbon::now()->addYearsNoOverflow(3)), 2),
CalculatorProvider::from(Periodicity::Yearly, new IntervalProvider(Carbon::parse('2019-01-29'), Carbon::parse('2025-01-29')), 5), self::from(Periodicity::Yearly, new IntervalProvider(Carbon::parse('2019-01-29'), Carbon::parse('2025-01-29')), 5),
CalculatorProvider::from(Periodicity::Yearly, new IntervalProvider(Carbon::parse('2020-02-29'), Carbon::parse('2031-02-28')), 10), self::from(Periodicity::Yearly, new IntervalProvider(Carbon::parse('2020-02-29'), Carbon::parse('2031-02-28')), 10),
]; ];
/** @var IntervalProvider $interval */ /** @var IntervalProvider $interval */
@@ -119,7 +119,7 @@ readonly class CalculatorProvider
} }
} }
public static function from(Periodicity $periodicity, IntervalProvider $interval, int $skip = 0): CalculatorProvider public static function from(Periodicity $periodicity, IntervalProvider $interval, int $skip = 0): self
{ {
return new self($interval, $periodicity, $skip); return new self($interval, $periodicity, $skip);
} }

View File

@@ -48,7 +48,7 @@ use Tests\unit\Support\Calendar\Periodicity\YearlyTest;
*/ */
class CalculatorTest extends TestCase class CalculatorTest extends TestCase
{ {
public static function provideAllPeriodicity(): Generator public static function provideAllPeriodicity(): iterable
{ {
$intervals = []; $intervals = [];
$intervals = array_merge($intervals, self::convert(Periodicity::Daily, DailyTest::provideIntervals())); $intervals = array_merge($intervals, self::convert(Periodicity::Daily, DailyTest::provideIntervals()));
@@ -78,7 +78,7 @@ class CalculatorTest extends TestCase
return $periodicityIntervals; return $periodicityIntervals;
} }
public static function provideSkippedIntervals(): Generator public static function provideSkippedIntervals(): iterable
{ {
return CalculatorProvider::providePeriodicityWithSkippedIntervals(); return CalculatorProvider::providePeriodicityWithSkippedIntervals();
} }
@@ -91,7 +91,7 @@ class CalculatorTest extends TestCase
{ {
$calculator = new Calculator(); $calculator = new Calculator();
$period = $calculator->nextDateByInterval($provider->epoch(), $provider->periodicity); $period = $calculator->nextDateByInterval($provider->epoch(), $provider->periodicity);
$this->assertEquals($provider->expected()->toDateString(), $period->toDateString()); self::assertSame($provider->expected()->toDateString(), $period->toDateString());
} }
/** /**
@@ -102,6 +102,6 @@ class CalculatorTest extends TestCase
{ {
$calculator = new Calculator(); $calculator = new Calculator();
$period = $calculator->nextDateByInterval($provider->epoch(), $provider->periodicity, $provider->skip); $period = $calculator->nextDateByInterval($provider->epoch(), $provider->periodicity, $provider->skip);
$this->assertEquals($provider->expected()->toDateString(), $period->toDateString()); self::assertSame($provider->expected()->toDateString(), $period->toDateString());
} }
} }

View File

@@ -31,7 +31,7 @@ use PHPUnit\Framework\TestCase;
abstract class IntervalTestCase extends TestCase abstract class IntervalTestCase extends TestCase
{ {
public static function provider(): Generator public static function provider(): iterable
{ {
$intervals = static::provideIntervals(); $intervals = static::provideIntervals();
/** @var IntervalProvider $interval */ /** @var IntervalProvider $interval */
@@ -52,7 +52,7 @@ abstract class IntervalTestCase extends TestCase
public function testGivenAnEpochWhenCallTheNextDateThenReturnsTheExpectedDateSuccessful(IntervalProvider $provider): void public function testGivenAnEpochWhenCallTheNextDateThenReturnsTheExpectedDateSuccessful(IntervalProvider $provider): void
{ {
$period = static::factory()->nextDate($provider->epoch); $period = static::factory()->nextDate($provider->epoch);
$this->assertEquals($provider->expected->toDateString(), $period->toDateString()); self::assertSame($provider->expected->toDateString(), $period->toDateString());
} }
abstract public static function factory(): Interval; abstract public static function factory(): Interval;

View File

@@ -45,7 +45,7 @@ class NavigationAddPeriodTest extends TestCase
$this->navigation = new Navigation(); $this->navigation = new Navigation();
} }
public static function provideFrequencies(): array public static function provideFrequencies(): iterable
{ {
return [ return [
Periodicity::Daily->name => ['periodicity' => Periodicity::Daily, 'from' => Carbon::now(), 'expected' => Carbon::tomorrow()], Periodicity::Daily->name => ['periodicity' => Periodicity::Daily, 'from' => Carbon::now(), 'expected' => Carbon::tomorrow()],
@@ -73,7 +73,7 @@ class NavigationAddPeriodTest extends TestCase
]; ];
} }
public static function provideMonthPeriods(): array public static function provideMonthPeriods(): iterable
{ {
return [ return [
'1M' => ['frequency' => '1M', 'from' => Carbon::parse('2023-06-25'), 'expected' => Carbon::parse('2023-06-25')->addMonthsNoOverflow(1)], '1M' => ['frequency' => '1M', 'from' => Carbon::parse('2023-06-25'), 'expected' => Carbon::parse('2023-06-25')->addMonthsNoOverflow(1)],
@@ -89,7 +89,7 @@ class NavigationAddPeriodTest extends TestCase
]; ];
} }
public static function providePeriods(): array public static function providePeriods(): iterable
{ {
return [ return [
'1D' => ['frequency' => '1D', 'from' => Carbon::now(), 'expected' => Carbon::tomorrow()], '1D' => ['frequency' => '1D', 'from' => Carbon::now(), 'expected' => Carbon::tomorrow()],
@@ -115,7 +115,7 @@ class NavigationAddPeriodTest extends TestCase
]; ];
} }
public static function providePeriodsWithSkippingParam(): Generator public static function providePeriodsWithSkippingParam(): iterable
{ {
$intervals = [ $intervals = [
'2019-01-31 to 2019-02-11' => ['skip' => 10, 'frequency' => 'daily', 'from' => Carbon::parse('2019-01-31'), 'expected' => Carbon::parse('2019-02-11')], '2019-01-31 to 2019-02-11' => ['skip' => 10, 'frequency' => 'daily', 'from' => Carbon::parse('2019-01-31'), 'expected' => Carbon::parse('2019-02-11')],
@@ -166,7 +166,7 @@ class NavigationAddPeriodTest extends TestCase
public function testGivenAFrequencyAndSkipIntervalWhenCalculateTheDateThenReturnsTheSkippedDateSuccessful(int $skip, string $frequency, Carbon $from, Carbon $expected) public function testGivenAFrequencyAndSkipIntervalWhenCalculateTheDateThenReturnsTheSkippedDateSuccessful(int $skip, string $frequency, Carbon $from, Carbon $expected)
{ {
$period = $this->navigation->addPeriod($from, $frequency, $skip); $period = $this->navigation->addPeriod($from, $frequency, $skip);
$this->assertEquals($expected->toDateString(), $period->toDateString()); self::assertSame($expected->toDateString(), $period->toDateString());
} }
/** /**
@@ -175,7 +175,7 @@ class NavigationAddPeriodTest extends TestCase
public function testGivenAFrequencyWhenCalculateTheDateThenReturnsTheExpectedDateSuccessful(string $frequency, Carbon $from, Carbon $expected) public function testGivenAFrequencyWhenCalculateTheDateThenReturnsTheExpectedDateSuccessful(string $frequency, Carbon $from, Carbon $expected)
{ {
$period = $this->navigation->addPeriod($from, $frequency, 0); $period = $this->navigation->addPeriod($from, $frequency, 0);
$this->assertEquals($expected->toDateString(), $period->toDateString()); self::assertSame($expected->toDateString(), $period->toDateString());
} }
/** /**
@@ -184,7 +184,7 @@ class NavigationAddPeriodTest extends TestCase
public function testGivenAIntervalWhenCallTheNextDateByIntervalMethodThenReturnsTheExpectedDateSuccessful(Periodicity $periodicity, Carbon $from, Carbon $expected) public function testGivenAIntervalWhenCallTheNextDateByIntervalMethodThenReturnsTheExpectedDateSuccessful(Periodicity $periodicity, Carbon $from, Carbon $expected)
{ {
$period = $this->navigation->nextDateByInterval($from, $periodicity); $period = $this->navigation->nextDateByInterval($from, $periodicity);
$this->assertEquals($expected->toDateString(), $period->toDateString()); self::assertSame($expected->toDateString(), $period->toDateString());
} }
/** /**
@@ -193,6 +193,6 @@ class NavigationAddPeriodTest extends TestCase
public function testGivenAMonthFrequencyWhenCalculateTheDateThenReturnsTheLastDayOfMonthSuccessful(string $frequency, Carbon $from, Carbon $expected) public function testGivenAMonthFrequencyWhenCalculateTheDateThenReturnsTheLastDayOfMonthSuccessful(string $frequency, Carbon $from, Carbon $expected)
{ {
$period = $this->navigation->addPeriod($from, $frequency, 0); $period = $this->navigation->addPeriod($from, $frequency, 0);
$this->assertEquals($expected->toDateString(), $period->toDateString()); self::assertSame($expected->toDateString(), $period->toDateString());
} }
} }

View File

@@ -43,7 +43,7 @@ class NavigationEndOfPeriodTest extends TestCase
$this->navigation = new Navigation(); $this->navigation = new Navigation();
} }
public static function provideDates(): array public static function provideDates(): iterable
{ {
return [ return [
'1D' => ['frequency' => '1D', 'from' => Carbon::now(), 'expected' => Carbon::now()->endOfDay()], '1D' => ['frequency' => '1D', 'from' => Carbon::now(), 'expected' => Carbon::now()->endOfDay()],
@@ -79,10 +79,10 @@ class NavigationEndOfPeriodTest extends TestCase
public function testGivenADateAndFrequencyWhenCalculateTheDateThenReturnsTheExpectedDateSuccessful(string $frequency, Carbon $from, Carbon $expected) public function testGivenADateAndFrequencyWhenCalculateTheDateThenReturnsTheExpectedDateSuccessful(string $frequency, Carbon $from, Carbon $expected)
{ {
$period = $this->navigation->endOfPeriod($from, $frequency); $period = $this->navigation->endOfPeriod($from, $frequency);
$this->assertEquals($expected->toDateString(), $period->toDateString()); self::assertSame($expected->toDateString(), $period->toDateString());
} }
public static function provideUnknownFrequencies(): array public static function provideUnknownFrequencies(): iterable
{ {
return [ return [
'1day' => ['frequency' => '1day', 'from' => Carbon::now(), 'expected' => Carbon::now()], '1day' => ['frequency' => '1day', 'from' => Carbon::now(), 'expected' => Carbon::now()],
@@ -99,7 +99,7 @@ class NavigationEndOfPeriodTest extends TestCase
Log::spy(); Log::spy();
$period = $this->navigation->endOfPeriod($from, $frequency); $period = $this->navigation->endOfPeriod($from, $frequency);
$this->assertEquals($expected->toDateString(), $period->toDateString()); self::assertSame($expected->toDateString(), $period->toDateString());
$expectedMessage = sprintf('Cannot do endOfPeriod for $repeat_freq "%s"', $frequency); $expectedMessage = sprintf('Cannot do endOfPeriod for $repeat_freq "%s"', $frequency);
Log::shouldHaveReceived('error', [$expectedMessage]); Log::shouldHaveReceived('error', [$expectedMessage]);

View File

@@ -42,7 +42,7 @@ class NavigationPreferredCarbonFormatByPeriodTest extends TestCase
$this->navigation = new Navigation(); $this->navigation = new Navigation();
} }
public static function providePeriods(): array public static function providePeriods(): iterable
{ {
return [ return [
'unknown' => ['period' => '1day', 'expected' => 'Y-m-d'], 'unknown' => ['period' => '1day', 'expected' => 'Y-m-d'],
@@ -60,6 +60,6 @@ class NavigationPreferredCarbonFormatByPeriodTest extends TestCase
public function testGivenAPeriodWhenCallPreferredCarbonFormatByPeriodThenReturnsExpectedFormat(string $period, string $expected) public function testGivenAPeriodWhenCallPreferredCarbonFormatByPeriodThenReturnsExpectedFormat(string $period, string $expected)
{ {
$formatPeriod = $this->navigation->preferredCarbonFormatByPeriod($period); $formatPeriod = $this->navigation->preferredCarbonFormatByPeriod($period);
$this->assertEquals($expected, $formatPeriod); self::assertSame($expected, $formatPeriod);
} }
} }

View File

@@ -43,7 +43,7 @@ class NavigationPreferredCarbonFormatTest extends TestCase
$this->navigation = new Navigation(); $this->navigation = new Navigation();
} }
public static function providePeriods(): array public static function providePeriods(): iterable
{ {
return [ return [
'1 week' => ['start' => Carbon::now(), 'end' => Carbon::now()->addWeek(), 'expected' => 'Y-m-d'], '1 week' => ['start' => Carbon::now(), 'end' => Carbon::now()->addWeek(), 'expected' => 'Y-m-d'],
@@ -67,6 +67,6 @@ class NavigationPreferredCarbonFormatTest extends TestCase
public function testGivenStartAndEndDatesWhenCallPreferredCarbonFormatThenReturnsTheExpectedFormatSuccessful(Carbon $start, Carbon $end, string $expected) public function testGivenStartAndEndDatesWhenCallPreferredCarbonFormatThenReturnsTheExpectedFormatSuccessful(Carbon $start, Carbon $end, string $expected)
{ {
$carbonFormat = $this->navigation->preferredCarbonFormat($start, $end); $carbonFormat = $this->navigation->preferredCarbonFormat($start, $end);
$this->assertEquals($expected, $carbonFormat); self::assertSame($expected, $carbonFormat);
} }
} }

View File

@@ -43,7 +43,7 @@ class NavigationPreferredEndOfPeriodTest extends TestCase
$this->navigation = new Navigation(); $this->navigation = new Navigation();
} }
public static function providePeriods(): array public static function providePeriods(): iterable
{ {
return [ return [
'1 week' => ['start' => Carbon::now(), 'end' => Carbon::now()->addWeek(), 'expected' => 'endOfDay'], '1 week' => ['start' => Carbon::now(), 'end' => Carbon::now()->addWeek(), 'expected' => 'endOfDay'],
@@ -67,6 +67,6 @@ class NavigationPreferredEndOfPeriodTest extends TestCase
public function testGivenStartAndEndDatesWhenCallPreferredEndOfPeriodThenReturnsTheExpectedFormatSuccessful(Carbon $start, Carbon $end, string $expected) public function testGivenStartAndEndDatesWhenCallPreferredEndOfPeriodThenReturnsTheExpectedFormatSuccessful(Carbon $start, Carbon $end, string $expected)
{ {
$formatPeriod = $this->navigation->preferredEndOfPeriod($start, $end); $formatPeriod = $this->navigation->preferredEndOfPeriod($start, $end);
$this->assertEquals($expected, $formatPeriod); self::assertSame($expected, $formatPeriod);
} }
} }

View File

@@ -43,7 +43,7 @@ class NavigationPreferredRangeFormatTest extends TestCase
$this->navigation = new Navigation(); $this->navigation = new Navigation();
} }
public static function providePeriods(): array public static function providePeriods(): iterable
{ {
return [ return [
'1 week' => ['start' => Carbon::now(), 'end' => Carbon::now()->addWeek(), 'expected' => '1D'], '1 week' => ['start' => Carbon::now(), 'end' => Carbon::now()->addWeek(), 'expected' => '1D'],
@@ -67,6 +67,6 @@ class NavigationPreferredRangeFormatTest extends TestCase
public function testGivenStartAndEndDatesWhenCallPreferredRangeFormatThenReturnsTheExpectedFormatSuccessful(Carbon $start, Carbon $end, string $expected) public function testGivenStartAndEndDatesWhenCallPreferredRangeFormatThenReturnsTheExpectedFormatSuccessful(Carbon $start, Carbon $end, string $expected)
{ {
$formatPeriod = $this->navigation->preferredRangeFormat($start, $end); $formatPeriod = $this->navigation->preferredRangeFormat($start, $end);
$this->assertEquals($expected, $formatPeriod); self::assertSame($expected, $formatPeriod);
} }
} }

View File

@@ -43,7 +43,7 @@ class NavigationPreferredSqlFormatTest extends TestCase
$this->navigation = new Navigation(); $this->navigation = new Navigation();
} }
public static function provideDates(): array public static function provideDates(): iterable
{ {
return [ return [
'1 week' => ['start' => Carbon::now(), 'end' => Carbon::now()->addWeek(), 'expected' => '%Y-%m-%d'], '1 week' => ['start' => Carbon::now(), 'end' => Carbon::now()->addWeek(), 'expected' => '%Y-%m-%d'],
@@ -67,6 +67,6 @@ class NavigationPreferredSqlFormatTest extends TestCase
public function testGivenStartAndEndDatesWhenCallPreferredSqlFormatThenReturnsTheExpectedFormatSuccessful(Carbon $start, Carbon $end, string $expected) public function testGivenStartAndEndDatesWhenCallPreferredSqlFormatThenReturnsTheExpectedFormatSuccessful(Carbon $start, Carbon $end, string $expected)
{ {
$formatPeriod = $this->navigation->preferredSqlFormat($start, $end); $formatPeriod = $this->navigation->preferredSqlFormat($start, $end);
$this->assertEquals($expected, $formatPeriod); self::assertSame($expected, $formatPeriod);
} }
} }

View File

@@ -44,7 +44,7 @@ class NavigationStartOfPeriodTest extends TestCase
$this->navigation = new Navigation(); $this->navigation = new Navigation();
} }
public static function provideDates(): array public static function provideDates(): iterable
{ {
return [ return [
'custom' => ['frequency' => 'custom', 'from' => Carbon::now(), 'expected' => Carbon::now()], 'custom' => ['frequency' => 'custom', 'from' => Carbon::now(), 'expected' => Carbon::now()],
@@ -74,7 +74,7 @@ class NavigationStartOfPeriodTest extends TestCase
]; ];
} }
public static function provideUnknownFrequencies(): array public static function provideUnknownFrequencies(): iterable
{ {
return [ return [
'1day' => ['frequency' => '1day', 'from' => Carbon::now(), 'expected' => Carbon::now()], '1day' => ['frequency' => '1day', 'from' => Carbon::now(), 'expected' => Carbon::now()],
@@ -89,7 +89,7 @@ class NavigationStartOfPeriodTest extends TestCase
public function testGivenADateAndFrequencyWhenCalculateTheDateThenReturnsTheExpectedDateSuccessful(string $frequency, Carbon $from, Carbon $expected) public function testGivenADateAndFrequencyWhenCalculateTheDateThenReturnsTheExpectedDateSuccessful(string $frequency, Carbon $from, Carbon $expected)
{ {
$period = $this->navigation->startOfPeriod($from, $frequency); $period = $this->navigation->startOfPeriod($from, $frequency);
$this->assertEquals($expected->toDateString(), $period->toDateString()); self::assertSame($expected->toDateString(), $period->toDateString());
} }
/** /**
@@ -102,6 +102,6 @@ class NavigationStartOfPeriodTest extends TestCase
->andReturnNull(); ->andReturnNull();
$period = $this->navigation->startOfPeriod($from, $frequency); $period = $this->navigation->startOfPeriod($from, $frequency);
$this->assertEquals($expected->toDateString(), $period->toDateString()); self::assertSame($expected->toDateString(), $period->toDateString());
} }
} }