inspiren-sem-tool/database/factories/CampaignFactory.php
brian-inspiren 221d3f8173
Some checks failed
linter / quality (push) Has been cancelled
tests / ci (push) Has been cancelled
feat: sem codebase
2026-05-21 11:28:03 +08:00

38 lines
1.3 KiB
PHP

<?php
namespace Database\Factories;
use App\Models\Campaign;
use App\Models\Client;
use App\Models\Industry;
use App\Models\User;
use Illuminate\Database\Eloquent\Factories\Factory;
class CampaignFactory extends Factory
{
protected $model = Campaign::class;
public function definition()
{
// Get random consultant (role = consultant) and campaign manager
$consultant = User::find(2);
$manager = User::find(2);
return [
'client_id' => Client::inRandomOrder()->first()->id,
'consultant_id' => 2,
'campaign_manager_id' => 2,
'campaign_name' => $this->faker->sentence(3),
'landing_page' => $this->faker->url,
'status' => $this->faker->randomElement(['draft', 'active', 'paused', 'ended']),
'conversion' => $this->faker->numberBetween(0, 100),
'countdown_enabled' => $this->faker->boolean,
'campaign_paused_flag' => $this->faker->boolean,
'campaign_paused_reason' => $this->faker->sentence(),
'activated_date' => $this->faker->dateTimeBetween('-1 year', 'now'),
'end_date' => $this->faker->dateTimeBetween('now', '+6 months'),
'countdown_days' => $this->faker->numberBetween(1, 30),
];
}
}