<?php
namespace Database\Factories;
use App\Modules\User\Models\User;
use App\Modules\Vendor\Models\Vendor;
use Illuminate\Database\Eloquent\Factories\Factory;
use Illuminate\Support\Str;
class VendorFactory extends Factory
{
protected $model = Vendor::class;
public function definition(): array
{
$name = fake()->company();
return [
'name' => $name,
'slug' => Str::slug($name) . '-' . fake()->unique()->numerify('###'),
'email' => fake()->unique()->companyEmail(),
'owner_id' => User::factory(),
'status' => 'approved',
'country' => 'NP',
'commission_rate' => 10.00,
];
}
public function pending(): static
{
return $this->state(['status' => 'pending']);
}
public function suspended(): static
{
return $this->state(['status' => 'suspended']);
}
}