Cover endOfPeriod method of the Navigation class

The custom frequency requires a timezone configuration, forcing it
to run in the integration test scope.

Running the integration tests requires a database connection in the
build process. It enables other case tests.

The API Tests cause interference in other tests, requiring isolating
them.
This commit is contained in:
Antonio Spinelli
2023-10-20 19:00:45 -03:00
parent b6aa76477e
commit dd2f8d4404
7 changed files with 197 additions and 26 deletions

View File

@@ -0,0 +1,25 @@
<?php
namespace Tests\integration\Support;
use Carbon\Carbon;
use FireflyIII\Support\Navigation;
use Tests\integration\TestCase;
class NavigationCustomEndOfPeriodTest extends TestCase
{
/**
* @runInSeparateProcess
* @preserveGlobalState disabled
*/
public function testGivenADateAndCustomFrequencyWhenCalculateTheDateThenReturnsTheEndOfMonthSuccessful()
{
$from = Carbon::parse('2023-08-05');
$expected = Carbon::parse('2023-09-04');
$navigation = new Navigation();
$period = $navigation->endOfPeriod($from, 'custom');
$this->assertEquals($expected->toDateString(), $period->toDateString());
}
}