Compare commits

...

2 Commits

Author SHA1 Message Date
Constantin Graf
ccc07c4235 Enhanced description for Clockify imports 2024-12-20 19:46:41 -05:00
Constantin Graf
453dbaac9e Fixed timezones in unit tests 2024-12-20 19:39:38 -05:00
5 changed files with 22 additions and 18 deletions

View File

@@ -5,18 +5,20 @@ declare(strict_types=1);
return [
'clockify_time_entries' => [
'name' => 'Clockify Time Entries',
'description' => '1. First make sure that you set the Date format to "MM/DD/YYYY" and the Time format to "12-hour" in the user settings.<br> '.
'2. Go to REPORTS -> TIME -> Detailed in the navigation on the left. <br>'.
'3. Now select the date range that you want to export in the right top. '.
'description' => '1. First make sure that you set the Date format to "MM/DD/YYYY" and the Time format to "12-hour" in the user settings.<br>'.
'2. In the same preferences page change the language of Clockfiy to English.<br>'.
'3. Go to REPORTS -> TIME -> Detailed in the navigation on the left. <br>'.
'4. Now select the date range that you want to export in the right top. '.
'It is currently not possible to select more than one year. You can export each year separately and import them one after another .'.
'<br> 4. Now click Export -> Save as CSV. The Export dropdown is in the header of the export table left of the printer symbol. '.
'<br><br>Before you import make sure that the Timezone settings in Clockify are the same as in solidtime.',
],
'clockify_projects' => [
'name' => 'Clockify Projects',
'description' => '1. Go to PROJECTS in the navigation on the left.<br> '.
'2. Now click on the three dots on the right of the project that you want to export and select Export.<br> '.
'3. Now click Export -> Save as CSV. The Export dropdown is in the header of the export table in the top right corner.',
'description' => '1. Make sure to set the language of Clockify to English in "Preferences -> General".<br>'.
'2. Go to PROJECTS in the navigation on the left.<br> '.
'3. Now click on the three dots on the right of the project that you want to export and select Export.<br> '.
'4. Now click Export -> Save as CSV. The Export dropdown is in the header of the export table in the top right corner.',
],
'toggl_data_importer' => [
'name' => 'Toggl Data Importer',

View File

@@ -79,6 +79,7 @@ class PublicReportEndpointTest extends ApiEndpointTestAbstract
public function test_show_returns_detailed_information_about_the_report(): void
{
// Arrange
$timezone = 'Europe/Vienna';
$reportDto = new ReportPropertiesDto;
$organization = Organization::factory()->create();
$reportDto->start = now()->subDays(2);
@@ -87,7 +88,7 @@ class PublicReportEndpointTest extends ApiEndpointTestAbstract
$reportDto->subGroup = TimeEntryAggregationType::Task;
$reportDto->historyGroup = TimeEntryAggregationTypeInterval::Day;
$reportDto->weekStart = Weekday::Monday;
$reportDto->timezone = 'Europe/Vienna';
$reportDto->timezone = $timezone;
$report = Report::factory()->forOrganization($organization)->public()->create([
'public_until' => null,
'properties' => $reportDto,
@@ -182,7 +183,7 @@ class PublicReportEndpointTest extends ApiEndpointTestAbstract
'grouped_type' => TimeEntryAggregationTypeInterval::Day->value,
'grouped_data' => [
[
'key' => now()->subDays(2)->toDateString(),
'key' => now()->timezone($timezone)->subDays(2)->toDateString(),
'seconds' => 0,
'cost' => 0,
'grouped_type' => null,
@@ -191,7 +192,7 @@ class PublicReportEndpointTest extends ApiEndpointTestAbstract
'color' => null,
],
[
'key' => now()->subDays(1)->toDateString(),
'key' => now()->timezone($timezone)->subDays(1)->toDateString(),
'seconds' => 300,
'cost' => 0,
'grouped_type' => null,
@@ -200,7 +201,7 @@ class PublicReportEndpointTest extends ApiEndpointTestAbstract
'color' => null,
],
[
'key' => now()->toDateString(),
'key' => now()->timezone($timezone)->toDateString(),
'seconds' => 0,
'cost' => 0,
'grouped_type' => null,
@@ -320,6 +321,7 @@ class PublicReportEndpointTest extends ApiEndpointTestAbstract
public function test_if_the_resources_behind_the_filters_no_longer_exist_the_report_ignores_those_filters_but_this_does_not_increase_the_visible_data(): void
{
// Arrange
$timezone = 'Europe/Vienna';
$organization = Organization::factory()->create();
$client = Client::factory()->forOrganization($organization)->create();
$project = Project::factory()->forClient($client)->forOrganization($organization)->create();
@@ -341,7 +343,7 @@ class PublicReportEndpointTest extends ApiEndpointTestAbstract
$reportDto->subGroup = TimeEntryAggregationType::Task;
$reportDto->historyGroup = TimeEntryAggregationTypeInterval::Day;
$reportDto->weekStart = Weekday::Monday;
$reportDto->timezone = 'Europe/Vienna';
$reportDto->timezone = $timezone;
$reportDto->setMemberIds([Str::uuid()->toString()]);
$reportDto->setClientIds([Str::uuid()->toString()]);
$reportDto->setProjectIds([Str::uuid()->toString()]);
@@ -382,7 +384,7 @@ class PublicReportEndpointTest extends ApiEndpointTestAbstract
'grouped_type' => TimeEntryAggregationTypeInterval::Day->value,
'grouped_data' => [
[
'key' => now()->subDays(2)->toDateString(),
'key' => now()->timezone($timezone)->subDays(2)->toDateString(),
'seconds' => 0,
'cost' => 0,
'grouped_type' => null,
@@ -391,7 +393,7 @@ class PublicReportEndpointTest extends ApiEndpointTestAbstract
'color' => null,
],
[
'key' => now()->subDays(1)->toDateString(),
'key' => now()->timezone($timezone)->subDays(1)->toDateString(),
'seconds' => 0,
'cost' => 0,
'grouped_type' => null,
@@ -400,7 +402,7 @@ class PublicReportEndpointTest extends ApiEndpointTestAbstract
'color' => null,
],
[
'key' => now()->toDateString(),
'key' => now()->timezone($timezone)->toDateString(),
'seconds' => 0,
'cost' => 0,
'grouped_type' => null,

View File

@@ -261,7 +261,7 @@ class TimeEntryEndpointTest extends ApiEndpointTestAbstract
{
// Arrange
$now = Carbon::create(2024, 1, 1, 12, 0, 0, 'Europe/Vienna');
$this->freezeTime($now);
$this->travelTo($now);
$data = $this->createUserWithPermission([
'time-entries:view:own',
]);
@@ -310,7 +310,7 @@ class TimeEntryEndpointTest extends ApiEndpointTestAbstract
{
// Arrange
$now = Carbon::create(2024, 1, 1, 12, 0, 0, 'Europe/Vienna');
$this->freezeTime($now);
$this->travelTo($now);
$data = $this->createUserWithPermission([
'time-entries:view:own',
]);

View File

@@ -25,7 +25,7 @@ class BillableRateServiceTest extends TestCaseWithDatabase
private BillableRateService $billableRateService;
public function setUp(): void
protected function setUp(): void
{
parent::setUp();
$this->billableRateService = app(BillableRateService::class);

View File

@@ -27,7 +27,7 @@ class DashboardServiceTest extends TestCase
protected DashboardService $dashboardService;
public function setUp(): void
protected function setUp(): void
{
parent::setUp();
$this->dashboardService = app(DashboardService::class);