diff --git a/database/migrations/2025_04_25_202047_change_data_type_for_spent_time_columns.php b/database/migrations/2025_04_25_202047_change_data_type_for_spent_time_columns.php new file mode 100644 index 00000000..03ca6acf --- /dev/null +++ b/database/migrations/2025_04_25_202047_change_data_type_for_spent_time_columns.php @@ -0,0 +1,36 @@ +bigInteger('spent_time')->unsigned()->default(0)->change(); + }); + Schema::table('tasks', function (Blueprint $table): void { + $table->bigInteger('spent_time')->unsigned()->default(0)->change(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('projects', function (Blueprint $table): void { + $table->integer('spent_time')->unsigned()->default(0)->change(); + }); + Schema::table('tasks', function (Blueprint $table): void { + $table->integer('spent_time')->unsigned()->default(0)->change(); + }); + } +}; diff --git a/tests/Unit/Model/ProjectModelTest.php b/tests/Unit/Model/ProjectModelTest.php index c9056514..1c417829 100644 --- a/tests/Unit/Model/ProjectModelTest.php +++ b/tests/Unit/Model/ProjectModelTest.php @@ -185,4 +185,19 @@ class ProjectModelTest extends ModelTestAbstract // Assert $this->assertFalse($isArchived); } + + public function test_project_can_store_big_amounts_of_spent_time(): void + { + // Arrange + $project = Project::factory()->create(); + $spentTime = 100 * 365 * 24 * 60 * 60; // 100 years in seconds + + // Act + $project->spent_time = $spentTime; + $project->save(); + $project->refresh(); + + // Assert + $this->assertSame($spentTime, $project->spent_time); + } } diff --git a/tests/Unit/Model/TaskModelTest.php b/tests/Unit/Model/TaskModelTest.php index 144f3718..3e7a9a6f 100644 --- a/tests/Unit/Model/TaskModelTest.php +++ b/tests/Unit/Model/TaskModelTest.php @@ -114,4 +114,19 @@ class TaskModelTest extends ModelTestAbstract // Assert $this->assertFalse($task->is_done); } + + public function test_task_can_store_big_amounts_of_spent_time(): void + { + // Arrange + $task = Task::factory()->create(); + $spentTime = 100 * 365 * 24 * 60 * 60; // 100 years in seconds + + // Act + $task->spent_time = $spentTime; + $task->save(); + $task->refresh(); + + // Assert + $this->assertSame($spentTime, $task->spent_time); + } }