From 2703df41cd7d2261a4f27075aeeee550d136b871 Mon Sep 17 00:00:00 2001 From: Lewis Larsen Date: Thu, 4 Jul 2024 14:37:15 +0100 Subject: [PATCH] fix: resolved linting errors, test failures and static analysis issues --- app/Models/BackupTask.php | 19 +- .../Backup/Tasks/AbstractBackupTask.php | 14 +- config/app.php | 2 +- .../backup-tasks/index-table.blade.php | 4 +- .../DeleteBackupTaskLogButtonTest.php | 2 +- .../Livewire/UpdateBackupTaskFormTest.php | 623 +++++++++--------- tests/Pest.php | 24 + tests/Unit/Models/BackupTaskTest.php | 5 +- tests/Unit/Services/Backup/BackupTest.php | 19 +- .../Unit/Services/Backup/BackupTestClass.php | 19 + .../Backup/Tasks/DatabaseBackupTaskTest.php | 24 +- .../Backup/Tasks/FileBackupTaskTest.php | 21 +- .../Tasks/Helpers/DBBackupTaskTestClass.php | 21 + .../Tasks/Helpers/FileBackupTaskTestClass.php | 21 + .../Backup/Traits/BackupHelpersTest.php | 49 +- .../Backup/Traits/BackupHelpersTestClass.php | 51 ++ 16 files changed, 479 insertions(+), 439 deletions(-) create mode 100644 tests/Unit/Services/Backup/BackupTestClass.php create mode 100644 tests/Unit/Services/Backup/Tasks/Helpers/DBBackupTaskTestClass.php create mode 100644 tests/Unit/Services/Backup/Tasks/Helpers/FileBackupTaskTestClass.php create mode 100644 tests/Unit/Services/Backup/Traits/BackupHelpersTestClass.php diff --git a/app/Models/BackupTask.php b/app/Models/BackupTask.php index 485429f0..2a8a5faa 100644 --- a/app/Models/BackupTask.php +++ b/app/Models/BackupTask.php @@ -12,6 +12,7 @@ use App\Traits\HasTags; use Cron\CronExpression; use Illuminate\Database\Eloquent\Builder; +use Illuminate\Database\Eloquent\Collection; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; @@ -66,10 +67,10 @@ public static function logsCountPerMonthForLastSixMonths(int $userId): array ->get(); return $results->mapWithKeys(function ($item) use ($locale) { - $carbonDate = Carbon::parse($item->month_date)->locale($locale); + $carbonDate = Carbon::parse($item->getAttribute('month_date'))->locale($locale); $localizedMonth = ucfirst($carbonDate->isoFormat('MMM YYYY')); - return [$localizedMonth => $item->count]; + return [$localizedMonth => $item->getAttribute('count')]; })->toArray(); } @@ -80,16 +81,18 @@ public static function logsCountPerMonthForLastSixMonths(int $userId): array */ public static function backupTasksCountByType(int $userId): array { - return self::query() + /** @var Collection $results */ + $results = self::query() ->where('user_id', $userId) ->selectRaw('type, COUNT(*) as count') ->groupBy('type') - ->get() - ->mapWithKeys(function ($item) { - $localizedType = __($item->type); + ->get(); + + return $results->mapWithKeys(function ($item) { + $localizedType = __($item->getAttribute('type')); - return [$localizedType => $item->count]; - }) + return [$localizedType => $item->getAttribute('count')]; + }) ->toArray(); } diff --git a/app/Services/Backup/Tasks/AbstractBackupTask.php b/app/Services/Backup/Tasks/AbstractBackupTask.php index df89586d..6e1cc203 100644 --- a/app/Services/Backup/Tasks/AbstractBackupTask.php +++ b/app/Services/Backup/Tasks/AbstractBackupTask.php @@ -48,6 +48,13 @@ public function handle(): void } } + public function generateBackupFileName(string $extension): string + { + $prefix = $this->backupTask->hasFileNameAppended() ? $this->backupTask->appended_file_name . '_' : ''; + + return "{$prefix}backup_{$this->backupTask->id}_" . date('YmdHis') . ".{$extension}"; + } + abstract protected function performBackup(): void; /** @@ -114,11 +121,4 @@ protected function logMessage(string $message): void { $this->logWithTimestamp($message, $this->backupTask->user->timezone); } - - protected function generateBackupFileName(string $extension): string - { - $prefix = $this->backupTask->hasFileNameAppended() ? $this->backupTask->appended_file_name . '_' : ''; - - return "{$prefix}backup_{$this->backupTask->id}_" . date('YmdHis') . ".{$extension}"; - } } diff --git a/config/app.php b/config/app.php index a8b11075..5a6f121b 100644 --- a/config/app.php +++ b/config/app.php @@ -45,6 +45,6 @@ 'en' => 'English (English)', 'da' => 'Danish (Dansk)', 'zh' => 'Chinese (中文)', - 'ru' => 'Russian (Русский)' + 'ru' => 'Russian (Русский)', ], ]; diff --git a/resources/views/livewire/backup-tasks/index-table.blade.php b/resources/views/livewire/backup-tasks/index-table.blade.php index afa61592..4c025d78 100644 --- a/resources/views/livewire/backup-tasks/index-table.blade.php +++ b/resources/views/livewire/backup-tasks/index-table.blade.php @@ -60,8 +60,8 @@