|
@@ -3,8 +3,10 @@
|
|
|
namespace Tests\Feature\API;
|
|
|
|
|
|
use App\Models\Asset;
|
|
|
+use App\Models\Enums\ProjectStatus;
|
|
|
use App\Models\Plan;
|
|
|
use App\Models\Project;
|
|
|
+use Carbon\Carbon;
|
|
|
use Illuminate\Foundation\Testing\RefreshDatabase;
|
|
|
use Illuminate\Foundation\Testing\WithFaker;
|
|
|
use Tests\Feature\TestCase;
|
|
@@ -83,7 +85,7 @@ class ProjectTest extends TestCase
|
|
|
$this->assertEquals($form->name, $newAsset->name);
|
|
|
}
|
|
|
|
|
|
- public function test_asset_group_delete(): void
|
|
|
+ public function test_project_delete(): void
|
|
|
{
|
|
|
$project = Project::factory()->create();
|
|
|
|
|
@@ -93,4 +95,50 @@ class ProjectTest extends TestCase
|
|
|
|
|
|
$this->assertNull(Project::find($project->id));
|
|
|
}
|
|
|
+
|
|
|
+ public function test_project_closed(): void
|
|
|
+ {
|
|
|
+ $project = Project::factory()->create();
|
|
|
+
|
|
|
+ $response = $this->patch(route('project.closed', ['project' => $project->id]));
|
|
|
+
|
|
|
+ $response->assertStatus(204);
|
|
|
+
|
|
|
+ $this->assertEquals(Project::find($project->id)->status, ProjectStatus::CLOSED->value);
|
|
|
+ }
|
|
|
+
|
|
|
+ public function test_project_start(): void
|
|
|
+ {
|
|
|
+ $project = Project::factory()->create();
|
|
|
+
|
|
|
+ $response = $this->patch(route('project.start', ['project' => $project->id]));
|
|
|
+
|
|
|
+ $response->assertStatus(204);
|
|
|
+
|
|
|
+ $this->assertEquals(Project::find($project->id)->status, ProjectStatus::DOING->value);
|
|
|
+ }
|
|
|
+
|
|
|
+ public function test_project_pause(): void
|
|
|
+ {
|
|
|
+ $project = Project::factory()->create();
|
|
|
+
|
|
|
+ $response = $this->patch(route('project.pause', ['project' => $project->id]));
|
|
|
+
|
|
|
+ $response->assertStatus(204);
|
|
|
+
|
|
|
+ $this->assertEquals(Project::find($project->id)->status, ProjectStatus::PAUSE->value);
|
|
|
+ }
|
|
|
+
|
|
|
+ public function test_project_postpone(): void
|
|
|
+ {
|
|
|
+ $project = Project::factory()->create();
|
|
|
+
|
|
|
+ $response = $this->patch(route('project.postpone', ['project' => $project->id]), [
|
|
|
+ 'begin' => Carbon::now()->toDateString(),
|
|
|
+ 'end' => Carbon::now()->addDays(3)->toDateString(),
|
|
|
+ 'available_days' => 3,
|
|
|
+ ]);
|
|
|
+
|
|
|
+ $response->assertStatus(204);
|
|
|
+ }
|
|
|
}
|