TaskFactory.php 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <?php
  2. namespace Database\Factories;
  3. use App\Models\Enums\TaskACL;
  4. use App\Models\Enums\TaskStatus;
  5. use App\Models\Project;
  6. use App\Models\Requirement;
  7. use App\Models\User;
  8. use Illuminate\Database\Eloquent\Factories\Factory;
  9. use Illuminate\Support\Carbon;
  10. use Illuminate\Support\Facades\Auth;
  11. /**
  12. * @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\Task>
  13. */
  14. class TaskFactory extends Factory
  15. {
  16. /**
  17. * Define the model's default state.
  18. *
  19. * @return array<string, mixed>
  20. */
  21. public function definition(): array
  22. {
  23. return [
  24. 'project_id' => Project::factory()->create(),
  25. 'requirement_id' => Requirement::factory()->create(),
  26. 'naming_rule_id' => 0,
  27. 'name' => fake()->title(),
  28. 'status' => TaskStatus::WAIT->value,
  29. 'parent_id' => 0,
  30. 'description' => fake()->text(),
  31. 'begin' => Carbon::now()->toDateString(),
  32. 'end' => Carbon::now()->addMonth()->toDateString(),
  33. 'email_subject' => fake()->title(),
  34. 'acl' => TaskACL::PRIVATE->value,
  35. 'whitelist' => ',1,',
  36. 'created_by' => Auth::id(),
  37. 'company_id' => Auth::user()->company_id,
  38. 'mailto' => [
  39. Auth::id(),
  40. ],
  41. ];
  42. }
  43. }