<?php
namespace Database\Factories;
use App\Modules\Catalog\Models\Product;
use App\Modules\Reviews\Models\ProductQuestion;
use App\Modules\User\Models\User;
use Illuminate\Database\Eloquent\Factories\Factory;
class ProductQuestionFactory extends Factory
{
protected $model = ProductQuestion::class;
public function definition(): array
{
return [
'product_id' => Product::factory(),
'user_id' => User::factory(),
'question' => fake()->sentence() . '?',
'answer' => null,
'answered_by_user_id' => null,
'answered_at' => null,
'status' => 'pending',
'is_public' => true,
'helpful_count' => 0,
];
}
public function answered(): static
{
return $this->state([
'answer' => fake()->paragraph(),
'answered_by_user_id' => User::factory(),
'answered_at' => now()->subHour(),
'status' => 'answered',
]);
}
public function pending(): static
{
return $this->state(['status' => 'pending']);
}
}